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
40 lines
660 B
YAML
40 lines
660 B
YAML
- name: ensure nut-client is installed
|
|
package:
|
|
name: nut-client
|
|
state: present
|
|
tags:
|
|
- install
|
|
|
|
- name: ensure upsmon is configured
|
|
template:
|
|
src: upsmon.conf.j2
|
|
dest: /etc/ups/upsmon.conf
|
|
owner: root
|
|
group: nut
|
|
mode: u=rw,g=r,o=
|
|
notify:
|
|
- restart nut-monitor
|
|
tags:
|
|
- config
|
|
|
|
- name: flush handlers
|
|
meta: flush_handlers
|
|
|
|
- name: ensure nut-monitor is running
|
|
service:
|
|
name: nut-monitor
|
|
state: started
|
|
tags:
|
|
- service
|
|
|
|
- name: ensure nut-monitor starts at boot
|
|
service:
|
|
name: nut-monitor
|
|
enabled: true
|
|
tags:
|
|
- service
|
|
|
|
- name: apply nut-common role
|
|
include_role:
|
|
name: nut-common
|