Handlers
main.yml
Synopsis: Main task.
Import handlers.
1---
2# linux_postinstall handlers
3
4- name: Import acpi.yml
5 ansible.builtin.import_tasks: acpi.yml
6
7- name: Import apparmor.yml
8 ansible.builtin.import_tasks: apparmor.yml
9
10- name: Import autofs.yml
11 ansible.builtin.import_tasks: autofs.yml
12
13- name: Import bluetooth.yml
14 ansible.builtin.import_tasks: bluetooth.yml
15
16- name: Import chrony.yml
17 ansible.builtin.import_tasks: chrony.yml
18
19- name: Import dnsmasq.yml
20 ansible.builtin.import_tasks: dnsmasq.yml
21
22- name: Import gpg.yml
23 ansible.builtin.import_tasks: gpg.yml
24
25- name: Import gpsd.yml
26 ansible.builtin.import_tasks: gpsd.yml
27
28- name: Import grub.yml
29 ansible.builtin.import_tasks: grub.yml
30
31- name: Import hostname.yml
32 ansible.builtin.import_tasks: hostname.yml
33
34- name: Import initramfs.yml
35 ansible.builtin.import_tasks: initramfs.yml
36
37- name: Import iptables.yml
38 ansible.builtin.import_tasks: iptables.yml
39
40- name: Import libvirtd.yml
41 ansible.builtin.import_tasks: libvirtd.yml
42
43- name: Import messages.yml
44 ansible.builtin.import_tasks: messages.yml
45
46- name: Import netplan.yml
47 ansible.builtin.import_tasks: netplan.yml
48
49- name: Import networkd.yml
50 ansible.builtin.import_tasks: networkd.yml
51
52- name: Import newaliases.yml
53 ansible.builtin.import_tasks: newaliases.yml
54
55- name: Import nfsd.yml
56 ansible.builtin.import_tasks: nfsd.yml
57
58- name: Import postfix.yml
59 ansible.builtin.import_tasks: postfix.yml
60
61- name: Import rc_local.yml
62 ansible.builtin.import_tasks: rc_local.yml
63
64- name: Import resolvconf.yml
65 ansible.builtin.import_tasks: resolvconf.yml
66
67- name: Import smart.yml
68 ansible.builtin.import_tasks: smart.yml
69
70- name: Import sshd.yml
71 ansible.builtin.import_tasks: sshd.yml
72
73- name: Import swap.yml
74 ansible.builtin.import_tasks: swap.yml
75
76- name: Import sysctl.yml
77 ansible.builtin.import_tasks: sysctl.yml
78
79- name: Import systemd.yml
80 ansible.builtin.import_tasks: systemd.yml
81
82- name: Import timesyncd.yml
83 ansible.builtin.import_tasks: timesyncd.yml
84
85- name: Import tlp.yml
86 ansible.builtin.import_tasks: tlp.yml
87
88- name: Import udev.yml
89 ansible.builtin.import_tasks: udev.yml
90
91- name: Import ufw.yml
92 ansible.builtin.import_tasks: ufw.yml
93
94- name: Import wpasupplicant.yml
95 ansible.builtin.import_tasks: wpasupplicant.yml
96
97# EOF
98...
acpi.yml
Synopsis: Handler acpi.
Description of the handler.
1---
2
3- name: reload acpid
4 ansible.builtin.service:
5 name: "{{ lp_acpi_service }}"
6 state: reloaded
7 when: lp_acpi_enable|bool
8
9- name: restart acpid
10 ansible.builtin.service:
11 name: "{{ lp_acpi_service }}"
12 state: restarted
13 when: lp_acpi_enable|bool
14
15# EOF
16...
apparmor.yml
Synopsis: Handler apparmor.
Description of the handler.
1---
2
3- name: apparmor disable profile
4 ansible.builtin.command:
5 cmd: >
6 apparmor_parser -R /etc/apparmor.d/{{ apparmor_item_path.stdout }}
7
8- name: apparmor enforce profile
9 ansible.builtin.command:
10 cmd: >
11 apparmor_parser -r /etc/apparmor.d/{{ apparmor_item_path.stdout }}
12
13# EOF
14...
autofs.yml
Synopsis: Handler autofs.
Description of the handler.
1---
2
3- name: restart autofs
4 ansible.builtin.service:
5 name: "{{ lp_autofs_service }}"
6 state: restarted
7 when: lp_autofs_enable|bool
8
9- name: reload autofs
10 ansible.builtin.service:
11 name: "{{ lp_autofs_service }}"
12 state: reloaded
13 when: lp_autofs_enable|bool
14
15# EOF
16...
bluetooth.yml
Synopsis: Handler bluetooth.
Description of the handler.
1---
2
3- name: restart bluetooth
4 ansible.builtin.service:
5 name: "{{ lp_bluetooth_service }}"
6 state: restarted
7 when: lp_bluetooth_enable|bool
8
9# EOF
10...
chrony.yml
Synopsis: Handler chrony.
Description of the handler.
1---
2
3- name: start chrony
4 ansible.builtin.service:
5 name: "{{ lp_chrony_service }}"
6 state: started
7
8- name: stop chrony
9 ansible.builtin.service:
10 name: "{{ lp_chrony_service }}"
11 state: stopped
12
13- name: restart chrony
14 ansible.builtin.service:
15 name: "{{ lp_chrony_service }}"
16 state: restarted
17 when: lp_chrony_enable|bool
18
19# EOF
20...
dnsmasq.yml
Synopsis: Handler dnsmasq.
Description of the handler.
1---
2
3- name: restart dnsmasq
4 ansible.builtin.command:
5 cmd: >
6 /etc/init.d/dnsmasq restart
7 when: lp_dnsmasq_enable|bool
8
9# EOF
10...
gpg.yml
Synopsis: Handler gpg.
Description of the handler.
1---
2
3- name: gpgconf reload
4 ansible.builtin.command:
5 cmd: "gpgconf --reload {{ item.item.component }}"
6 loop: "{{ lp_gpg_conf_reg.results|selectattr('changed') }}"
7 loop_control:
8 label: "{{ item.item.owner }} {{ item.item.component }}"
9 become: true
10 become_user: "{{ item.item.owner }}"
11
12# EOF
13...
gpsd.yml
Synopsis: Handler gpsd.
Description of the handler.
1---
2
3- name: restart gpsd
4 ansible.builtin.service:
5 name: "{{ lp_gpsd_service }}"
6 state: restarted
7 when: lp_gpsd_enable|bool
8
9# EOF
10...
grub.yml
Synopsis: Handler grub.
Description of the handler.
1---
2
3- name: update grub
4 ansible.builtin.command:
5 cmd: >
6 /usr/sbin/update-grub
7
8# EOF
9...
hostname.yml
Synopsis: Handler hostname.
Description of the handler.
1---
2
3- name: set hostname
4 ansible.builtin.command:
5 cmd: >
6 /sbin/sysctl kernel.hostname={{ hostname }}
7
8# EOF
9...
initramfs.yml
Synopsis: Handler initramfs.
Description of the handler.
1---
2
3- name: update initramfs
4 listen: update initrd
5 ansible.builtin.command:
6 cmd: >
7 update-initramfs -k all -u
8
9# EOF
10...
iptables.yml
Synopsis: Handler iptables.
Description of the handler.
1---
2
3- name: reload iptables
4 ansible.builtin.shell:
5 cmd: >
6 /sbin/iptables-restore < /etc/network/iptables
7
8# EOF
9...
libvirtd.yml
Synopsis: Handler libvirtd.
Description of the handler.
1---
2
3- name: restart libvirtd
4 ansible.builtin.service:
5 name: "{{ lp_libvirt_libvirtd_service }}"
6 state: restarted
7 when: lp_libvirt_libvirtd_enable|bool
8
9- name: reload libvirtd
10 ansible.builtin.service:
11 name: "{{ lp_libvirt_libvirtd_service }}"
12 state: reloaded
13 when: lp_libvirt_libvirtd_enable|bool
14
15- name: restart libvirt_guests
16 ansible.builtin.service:
17 name: "{{ lp_libvirt_guests_service }}"
18 state: restarted
19 when: lp_libvirt_libvirtd_enable|bool
20
21- name: reload libvirt_guests
22 ansible.builtin.service:
23 name: "{{ lp_libvirt_guests_service }}"
24 state: reloaded
25 when: lp_libvirt_libvirtd_enable|bool
26
27# EOF
28...
messages.yml
Synopsis: Handler messages.
Description of the handler.
1---
2
3# MESSAGES - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4
5- name: logind message reboot
6 ansible.builtin.debug:
7 msg: |
8 [MESSAGE] Reboot to activate configuration in logind.conf
9
10# MESSAGES - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
11
12# EOF
13...
netplan.yml
Synopsis: Handler netplan.
Description of the handler.
1---
2
3- name: netplan apply
4 ansible.builtin.command:
5 cmd: >
6 netplan apply
7 when: lp_netplan|bool
8
9# EOF
10...
networkd.yml
Synopsis: Handler networkd.
Description of the handler.
1---
2
3- name: restart networkd
4 ansible.builtin.service:
5 name: "{{ lp_networkd_service }}"
6 state: restarted
7 when: lp_networkd_enable|bool
8
9# EOF
10...
newaliases.yml
Synopsis: Handler newaliases.
Description of the handler.
1---
2
3- name: newaliases
4 ansible.builtin.command:
5 cmd: >
6 newaliases
7
8# EOF
9...
nfsd.yml
Synopsis: Handler nfsd.
Description of the handler.
1---
2
3- name: reload nfsd
4 ansible.builtin.systemd:
5 name: "{{ lp_nfsd_reload_service }}"
6 state: reloaded
7 when: lp_nfsd_enable|bool
8
9# EOF
10...
postfix.yml
Synopsis: Handler postfix.
Description of the handler.
1---
2
3- name: restart postfix
4 ansible.builtin.service:
5 name: "{{ lp_postfix_service }}"
6 state: restarted
7 when: lp_postfix_enable|bool
8
9- name: reload postfix
10 ansible.builtin.service:
11 name: "{{ lp_postfix_service }}"
12 state: reloaded
13 when: lp_postfix_enable|bool
14
15# EOF
16...
rc_local.yml
Synopsis: Handler rc_local.
Description of the handler.
1---
2
3- name: restart rc-local
4 ansible.builtin.service:
5 name: "{{ lp_rc_local_service }}"
6 state: restarted
7 when: "lp_rc_local_state == 'started'"
8
9# EOF
10...
resolvconf.yml
Synopsis: Handler resolvconf.
Description of the handler.
1---
2
3- name: restart resolvconf
4 ansible.builtin.service:
5 name: "{{ lp_resolvconf_service }}"
6 state: restarted
7 when: lp_resolvconf_enable|bool
8
9- name: reload resolvconf
10 ansible.builtin.service:
11 name: "{{ lp_resolvconf_service }}"
12 state: reloaded
13 when: lp_resolvconf_enable|bool
14
15# EOF
16...
smart.yml
Synopsis: Handler smart.
Description of the handler.
1---
2
3- name: restart smart
4 ansible.builtin.service:
5 name: "{{ lp_smart_service }}"
6 state: restarted
7 when: lp_smart_enable|bool
8
9- name: reload smart
10 ansible.builtin.service:
11 name: "{{ lp_smart_service }}"
12 state: reloaded
13 when: lp_smart_enable|bool
14
15# EOF
16...
sshd.yml
Synopsis: Handler sshd.
Description of the handler.
1---
2
3- name: reload sshd
4 ansible.builtin.service:
5 name: "{{ lp_sshd_service }}"
6 state: reloaded
7 when: lp_sshd_enable|bool
8
9- name: restart sshd
10 ansible.builtin.service:
11 name: "{{ lp_sshd_service }}"
12 state: restarted
13 when: lp_sshd_enable|bool
14
15# EOF
16...
swap.yml
Synopsis: Handler swap.
Description of the handler.
1---
2
3- name: create and mount swap file
4 ansible.builtin.shell:
5 cmd: >
6 sh -c
7 'dd if=/dev/zero of={{ lp_swap_file }} bs=1M count={{ lp_swap_size }} &&
8 chmod 0600 {{ lp_swap_file }} &&
9 mkswap {{ lp_swap_file }} &&
10 swapon {{ lp_swap_file }}'
11 when: lp_swap_enable|bool
12
13- name: change and mount swap file
14 ansible.builtin.shell:
15 cmd: >
16 sh -c
17 'swapoff {{ lp_swap_file }} &&
18 dd if=/dev/zero of={{ lp_swap_file }} bs=1M count={{ lp_swap_size }} &&
19 chmod 0600 {{ lp_swap_file }} &&
20 mkswap {{ lp_swap_file }} &&
21 swapon {{ lp_swap_file }}'
22 when: lp_swap_enable|bool
23
24- name: remove swap file
25 ansible.builtin.shell:
26 cmd: >
27 sh -c
28 'swapoff {{ lp_swap_file }} && rm {{ lp_swap_file }}'
29 when: not lp_swap_enable|bool
30
31# EOF
32...
sysctl.yml
Synopsis: Handler sysctl.
Description of the handler.
1---
2
3- name: load sysctl settings
4 ansible.builtin.command:
5 cmd: >
6 /sbin/sysctl -p /etc/sysctl.conf
7
8# EOF
9...
systemd.yml
Synopsis: Handler systemd.
Description of the handler.
1---
2
3- name: reexec systemd daemon
4 ansible.builtin.systemd:
5 daemon_reexec: true
6
7- name: reload systemd daemon
8 ansible.builtin.systemd:
9 daemon_reload: true
10
11- name: reload systemd conf
12 ansible.builtin.systemd:
13 name: "{{ my_service }}"
14 state: "{{ my_restart_or_reload }}"
15 daemon_reload: true
16 loop: "{{ lp_systemd_conf_changes.results }}"
17 loop_control:
18 label: "{{ my_service }}"
19 vars:
20 my_service: "{{ item.item.0.value.reload_service }}"
21 my_state: "{{ my_services[my_service].state|default('started') }}"
22 my_restart_or_reload: "{{ my_services[my_service].restart_or_reload|default('reloaded') }}"
23 when:
24 - my_service != 'noop'
25 - item.changed|bool
26 - my_state == 'started'
27
28- name: reload systemd units
29 ansible.builtin.systemd:
30 name: "{{ my_service }}"
31 state: "{{ my_restart_or_reload }}"
32 daemon_reload: true
33 loop: "{{ lp_systemd_unit_create_changes.results }}"
34 loop_control:
35 label: "{{ my_service }}"
36 vars:
37 my_service: "{{ item.dest|basename }}"
38 my_state: "{{ my_services[my_service].state|default('started') }}"
39 my_restart_or_reload: "{{ my_services[my_service].restart_or_reload|default('reloaded') }}"
40 when:
41 - not (my_service|regex_search('^(.*)@\.\w+$'))
42 - item.changed|bool
43 - my_state == 'started'
44
45# EOF
46...
timesyncd.yml
Synopsis: Handler timesyncd.
Description of the handler.
1---
2
3- name: restart timesyncd
4 ansible.builtin.service:
5 name: "{{ lp_timesyncd_service }}"
6 state: restarted
7 when: lp_timesyncd_enable|bool
8
9# EOF
10...
tlp.yml
Synopsis: Handler tlp.
Description of the handler.
1---
2
3- name: start tlp
4 ansible.builtin.service:
5 name: "{{ lp_tlp_restart_service }}"
6 state: started
7
8- name: stop tlp
9 ansible.builtin.service:
10 name: "{{ lp_tlp_restart_service }}"
11 state: stopped
12
13- name: restart tlp
14 ansible.builtin.shell:
15 cmd: >
16 sh -c
17 '{{ lp_tlp_path }} init stop &&
18 {{ lp_tlp_path }} init start'
19 when: lp_tlp_enable|bool
20
21# [TODO] "restarted" freeze 20.04
22# systemd: name="{{ lp_tlp_restart_service }}" state=restarted
23
24# EOF
25...
udev.yml
Synopsis: Handler udev.
Description of the handler.
1---
2
3- name: reload udev
4 ansible.builtin.command:
5 cmd: >
6 {{ lp_udev_path }} control --reload-rules
7 when: lp_udev_enable|bool
8# Ubuntu 18.04 error: Failed to reload udev.service: Job type reload
9# is not applicable for unit systemd-udevd.service
10# systemd: name="udev" state="reloaded"
11# Ubuntu 18.04
12# command: "/sbin/udevadm control --reload-rules"
13# Ubuntu 20.04
14# command: "/usr/bin/udevadm control --reload-rules"
15
16- name: restart udev
17 ansible.builtin.service:
18 name: "{{ lp_service_udev }}"
19 state: restarted
20 when: lp_udev_enable|bool
21
22# EOF
23...
ufw.yml
Synopsis: Handler ufw.
Description of the handler.
1---
2
3- name: restart ufw
4 ansible.builtin.service:
5 name: "{{ lp_ufw_service }}"
6 state: restarted
7 when: lp_ufw_enable|bool
8
9- name: reset ufw
10 community.general.ufw:
11 state: reset
12
13- name: reload ufw
14 community.general.ufw:
15 state: reloaded
16 when: lp_ufw_enable|bool
17
18# EOF
19...
wpasupplicant.yml
Synopsis: Handler wpasupplicant.
Description of the handler.
1---
2
3- name: reconfigure wpa_supplicant
4 ansible.builtin.service:
5 name: "{{ my_service }}"
6 state: restarted
7 loop: "{{ lp_wpasupplicant_conf_changes.results }}"
8 loop_control:
9 label: "{{ my_service }}"
10 vars:
11 my_dev: "{{ item.item.dev }}"
12 my_service: "{{ lp_wpasupplicant_service[item.item.type|default('default')] }}"
13 when:
14 - item.changed|bool
15 - not lp_wpasupplicant_conf_only|bool
16 - item.item.enabled|default(true)
17
18# [TODO] Wait for OK result. Error: 'RECONFIGURE' command timed out.
19# shell: >
20# [ -S {{ lp_wpasupplicant_conf_ctrl_interface }}/{{ item.item.dev }} ] &&
21# wpa_cli -p {{ lp_wpasupplicant_conf_ctrl_interface }}
22# -i {{ item.item.dev }} reconfigure ||
23# exit 0
24
25- name: reload wpa_supplicant service
26 ansible.builtin.service:
27 name: "{{ item.item.0.service }}"
28 state: reloaded
29 loop: "{{ lp_wpasupplicant_service_conf_changes.results }}"
30 loop_control:
31 label: "{{ item.item.0.path }}/{{ item.item.0.service }}"
32 when:
33 - item.changed|bool
34 - not lp_wpasupplicant_service_conf_only|bool
35 - item.item.enabled|default(true)
36
37# [TODO] Restart running wpa_supplicant-*.service services
38# The command below successfully restarts the service in 20.04
39# shell> systemctl restart wpa_supplicant-nl80211@wlan0.service
40
41# EOF
42...