Recent versions of NUT have a *nut.target* unit that collects all of the NUT-related services. Enabling any of the services individually does effectively nothing, as it only adds the service as a `Wants` dependency for *nut.target*, and that unit already has dependencies for all of them. Thus, in order for the service to start at boot, *nut.target* has to be enabled instead. In situations where only *nut-monitor* should be enabled, enabling *nut.target* is inappropriate, since that enables *nut-driver* and *nut-server* as well. It's not clear why upstream made this change (it was part of a [HUGE pull request][0]), but restoring the desired behavior is easy enough by clearing the dependencies from *nut.target*. Services that we want to start automatically can still be enabled individually, and will start as long as *nut.target* is enabled. [0]: https://github.com/networkupstools/nut/pull/330
27 lines
537 B
YAML
27 lines
537 B
YAML
- name: ensure nut.target configuration drop-in directory exists
|
|
file:
|
|
path: /etc/systemd/system/nut.target.d
|
|
owner: root
|
|
group: root
|
|
mode: u=rwx,go=rx
|
|
state: directory
|
|
tags:
|
|
- systemd
|
|
|
|
- name: ensure nut.target dependencies are reset
|
|
copy:
|
|
src: nut-reset-deps.conf
|
|
dest: /etc/systemd/system/nut.target.d/reset-deps.conf
|
|
owner: root
|
|
group: root
|
|
mode: u=rw,go=r
|
|
tags:
|
|
- systemd
|
|
|
|
- name: ensure nut.target is enabled
|
|
systemd:
|
|
name: nut.target
|
|
enabled: true
|
|
tags:
|
|
- service
|