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
acpi.yml
Synopsis: Configure acpi
Description of the task.
1---
2- name: Reload acpid
3 listen: 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 listen: restart acpid
11 ansible.builtin.service:
12 name: "{{ lp_acpi_service }}"
13 state: restarted
14 when: lp_acpi_enable | bool
15
16# EOF
apparmor.yml
Synopsis: Configure apparmor
Description of the task.
1---
2- name: Apparmor disable profile
3 listen: apparmor disable profile
4 ansible.builtin.command: # noqa: no-changed-when
5 cmd: >
6 apparmor_parser -R /etc/apparmor.d/{{ apparmor_item_path.stdout }}
7
8- name: Apparmor enforce profile
9 listen: apparmor enforce profile
10 ansible.builtin.command: # noqa: no-changed-when
11 cmd: >
12 apparmor_parser -r /etc/apparmor.d/{{ apparmor_item_path.stdout }}
13
14# EOF
autofs.yml
Synopsis: Configure autofs
Description of the task.
1---
2- name: Restart autofs
3 listen: 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 listen: reload autofs
11 ansible.builtin.service:
12 name: "{{ lp_autofs_service }}"
13 state: reloaded
14 when: lp_autofs_enable | bool
15
16# EOF
bluetooth.yml
Synopsis: Configure bluetooth
Description of the task.
1---
2- name: Restart bluetooth
3 listen: restart bluetooth
4 ansible.builtin.service:
5 name: "{{ lp_bluetooth_service }}"
6 state: restarted
7 when: lp_bluetooth_enable | bool
8
9# EOF
chrony.yml
Synopsis: Configure chrony
Description of the task.
1---
2- name: Start chrony
3 listen: start chrony
4 ansible.builtin.service:
5 name: "{{ lp_chrony_service }}"
6 state: started
7
8- name: Stop chrony
9 listen: stop chrony
10 ansible.builtin.service:
11 name: "{{ lp_chrony_service }}"
12 state: stopped
13
14- name: Restart chrony
15 listen: restart chrony
16 ansible.builtin.service:
17 name: "{{ lp_chrony_service }}"
18 state: restarted
19 when: lp_chrony_enable | bool
20
21# EOF
dnsmasq.yml
Synopsis: Configure dnsmasq
Description of the task.
1---
2- name: Restart dnsmasq
3 listen: restart dnsmasq
4 ansible.builtin.command: # noqa: no-changed-when
5 cmd: >
6 /etc/init.d/dnsmasq restart
7 when: lp_dnsmasq_enable | bool
8
9# EOF
gpg.yml
Synopsis: Configure gpg
Description of the task.
1---
2- name: Gpgconf reload
3 listen: gpgconf reload
4 ansible.builtin.command: # noqa: no-changed-when
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
gpsd.yml
Synopsis: Configure gpsd
Description of the task.
1---
2- name: Restart gpsd
3 listen: restart gpsd
4 ansible.builtin.service:
5 name: "{{ lp_gpsd_service }}"
6 state: restarted
7 when: lp_gpsd_enable | bool
8
9# EOF
grub.yml
Synopsis: Configure grub
Description of the task.
1---
2- name: Update grub
3 listen: update grub
4 ansible.builtin.command: # noqa: no-changed-when
5 cmd: >
6 /usr/sbin/update-grub
7
8# EOF
hostname.yml
Synopsis: Configure hostname
Description of the task.
1---
2- name: Set hostname
3 listen: set hostname
4 ansible.builtin.command: # noqa: no-changed-when
5 cmd: >
6 /sbin/sysctl kernel.hostname={{ hostname }}
7
8# EOF
initramfs.yml
Synopsis: Configure initramfs
Description of the task.
1---
2- name: Update initramfs
3 listen:
4 - update initramfs
5 - update initrd
6 ansible.builtin.command: # noqa: no-changed-when
7 cmd: >
8 update-initramfs -k all -u
9
10# EOF
iptables.yml
Synopsis: Configure iptables
Description of the task.
1---
2- name: Reload iptables
3 listen: reload iptables
4 ansible.builtin.shell: # noqa: no-changed-when
5 cmd: >
6 /sbin/iptables-restore < /etc/network/iptables
7
8# EOF
libvirtd.yml
Synopsis: Configure libvirtd
Description of the task.
1---
2- name: Restart libvirtd
3 listen: 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 listen: reload libvirtd
11 ansible.builtin.service:
12 name: "{{ lp_libvirt_libvirtd_service }}"
13 state: reloaded
14 when: lp_libvirt_libvirtd_enable | bool
15
16- name: Restart libvirt_guests
17 listen: restart libvirt_guests
18 ansible.builtin.service:
19 name: "{{ lp_libvirt_guests_service }}"
20 state: restarted
21 when: lp_libvirt_libvirtd_enable | bool
22
23- name: Reload libvirt_guests
24 listen: reload libvirt_guests
25 ansible.builtin.service:
26 name: "{{ lp_libvirt_guests_service }}"
27 state: reloaded
28 when: lp_libvirt_libvirtd_enable | bool
29
30# EOF
messages.yml
Synopsis: Configure messages
Description of the task.
1---
2# MESSAGES - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3
4- name: Logind message reboot
5 listen: logind message reboot
6 ansible.builtin.debug:
7 msg: |
8 [MESSAGE] Reboot to activate configuration in logind.conf
9
10# MESSAGES - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
11
12# EOF
netplan.yml
Synopsis: Configure netplan
Description of the task.
1---
2- name: Netplan apply
3 listen: netplan apply
4 ansible.builtin.command: # noqa: no-changed-when
5 cmd: >
6 netplan apply
7 when: lp_netplan | bool
8
9# EOF
networkd.yml
Synopsis: Configure networkd
Description of the task.
1---
2- name: Restart networkd
3 listen: restart networkd
4 ansible.builtin.service:
5 name: "{{ lp_networkd_service }}"
6 state: restarted
7 when: lp_networkd_enable | bool
8
9# EOF
newaliases.yml
Synopsis: Configure newaliases
Description of the task.
1---
2- name: Newaliases
3 listen: newaliases
4 ansible.builtin.command: # noqa: no-changed-when
5 cmd: >
6 newaliases
7
8# EOF
nfsd.yml
Synopsis: Configure nfsd
Description of the task.
1---
2- name: Reload nfsd
3 listen: reload nfsd
4 ansible.builtin.systemd:
5 name: "{{ lp_nfsd_reload_service }}"
6 state: reloaded
7 when: lp_nfsd_enable | bool
8
9# EOF
postfix.yml
Synopsis: Configure postfix
Description of the task.
1---
2- name: Restart postfix
3 listen: 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 listen: reload postfix
11 ansible.builtin.service:
12 name: "{{ lp_postfix_service }}"
13 state: reloaded
14 when: lp_postfix_enable | bool
15
16# EOF
rc_local.yml
Synopsis: Configure rc_local
Description of the task.
1---
2- name: Restart rc-local
3 listen: 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
resolvconf.yml
Synopsis: Configure resolvconf
Description of the task.
1---
2- name: Restart resolvconf
3 listen: 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 listen: reload resolvconf
11 ansible.builtin.service:
12 name: "{{ lp_resolvconf_service }}"
13 state: reloaded
14 when: lp_resolvconf_enable | bool
15
16# EOF
smart.yml
Synopsis: Configure smart
Description of the task.
1---
2- name: Restart smart
3 listen: 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 listen: reload smart
11 ansible.builtin.service:
12 name: "{{ lp_smart_service }}"
13 state: reloaded
14 when: lp_smart_enable | bool
15
16# EOF
sshd.yml
Synopsis: Configure sshd
Description of the task.
1---
2- name: Reload sshd
3 listen: 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 listen: restart sshd
11 ansible.builtin.service:
12 name: "{{ lp_sshd_service }}"
13 state: restarted
14 when: lp_sshd_enable | bool
15
16# EOF
swap.yml
Synopsis: Configure swap
Description of the task.
1---
2- name: Create and mount swap file
3 listen: create and mount swap file
4 ansible.builtin.shell: # noqa: no-changed-when
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 listen: change and mount swap file
15 ansible.builtin.shell: # noqa: no-changed-when
16 cmd: >
17 sh -c
18 'swapoff {{ lp_swap_file }} &&
19 dd if=/dev/zero of={{ lp_swap_file }} bs=1M count={{ lp_swap_size }} &&
20 chmod 0600 {{ lp_swap_file }} &&
21 mkswap {{ lp_swap_file }} &&
22 swapon {{ lp_swap_file }}'
23 when: lp_swap_enable | bool
24
25- name: Remove swap file
26 listen: remove swap file
27 ansible.builtin.shell: # noqa: no-changed-when
28 cmd: >
29 sh -c
30 'swapoff {{ lp_swap_file }} && rm {{ lp_swap_file }}'
31 when: not lp_swap_enable | bool
32
33# EOF
sysctl.yml
Synopsis: Configure sysctl
Description of the task.
1---
2- name: Load sysctl settings
3 listen: load sysctl settings
4 ansible.builtin.command: # noqa: no-changed-when
5 cmd: >
6 /sbin/sysctl -p /etc/sysctl.conf
7
8- name: Load sysctl system
9 listen: load sysctl system
10 ansible.builtin.command: # noqa: no-changed-when
11 cmd: >
12 /sbin/sysctl --system
13
14# EOF
systemd.yml
Synopsis: Configure systemd
Description of the task.
1---
2- name: Reexec systemd daemon
3 listen: reexec systemd daemon
4 ansible.builtin.systemd_service:
5 daemon_reexec: true
6
7- name: Reload systemd daemon
8 listen: reload systemd daemon
9 ansible.builtin.systemd:
10 daemon_reload: true
11
12- name: Reload systemd conf
13 listen: reload systemd conf
14 ansible.builtin.systemd_service:
15 name: "{{ my_service }}"
16 state: "{{ my_restart_or_reload }}"
17 daemon_reload: true
18 loop: "{{ lp_systemd_conf_changes.results }}"
19 loop_control:
20 label: "{{ my_service }}"
21 vars:
22 my_service: "{{ item.item.0.value.reload_service }}"
23 my_state: "{{ my_services[my_service].state | d('started') }}"
24 my_restart_or_reload: "{{ my_services[my_service].restart_or_reload | d('reloaded') }}"
25 when:
26 - my_service != 'noop'
27 - item.changed | bool
28 - my_state == 'started'
29
30- name: Reload systemd units
31 listen: reload systemd units
32 ansible.builtin.systemd_service:
33 name: "{{ my_service }}"
34 state: "{{ my_restart_or_reload }}"
35 daemon_reload: true
36 loop: "{{ lp_systemd_unit_create_changes.results }}"
37 loop_control:
38 label: "{{ my_service }}"
39 vars:
40 my_service: "{{ item.dest | basename }}"
41 my_state: "{{ my_services[my_service].state | d('started') }}"
42 my_restart_or_reload: "{{ my_services[my_service].restart_or_reload | d('reloaded') }}"
43 when:
44 - not (my_service | regex_search('^(.*)@\.\w+$'))
45 - item.changed | bool
46 - my_state == 'started'
47
48# EOF
timesyncd.yml
Synopsis: Configure timesyncd
Description of the task.
1---
2- name: Restart timesyncd
3 listen: restart timesyncd
4 ansible.builtin.service:
5 name: "{{ lp_timesyncd_service }}"
6 state: restarted
7 when:
8 - lp_timesyncd_enable | bool
9 - lp_timesyncd_service_found | bool
10
11# EOF
tlp.yml
Synopsis: Configure tlp
Description of the task.
1---
2- name: Start tlp
3 listen: start tlp
4 ansible.builtin.service:
5 name: "{{ lp_tlp_restart_service }}"
6 state: started
7
8- name: Stop tlp
9 listen: stop tlp
10 ansible.builtin.service:
11 name: "{{ lp_tlp_restart_service }}"
12 state: stopped
13
14- name: Restart tlp
15 listen: restart tlp
16 ansible.builtin.shell: # noqa: no-changed-when
17 cmd: >
18 sh -c
19 '{{ lp_tlp_path }} init stop &&
20 {{ lp_tlp_path }} init start'
21 when: lp_tlp_enable | bool
22
23# [TODO] "restarted" freeze 20.04
24# systemd: name="{{ lp_tlp_restart_service }}" state=restarted
25
26# EOF
udev.yml
Synopsis: Configure udev
Description of the task.
1---
2# Service
3
4- name: Reload udev service
5 listen: reload udev
6 ansible.builtin.service:
7 name: "{{ lp_udev_service }}"
8 state: reloaded
9 when:
10 - lp_udev_module == 'service'
11 - lp_udev_enable | bool
12
13- name: Restart udev service
14 listen: restart udev
15 ansible.builtin.service:
16 name: "{{ lp_udev_service }}"
17 state: restarted
18 when:
19 - lp_udev_module == 'service'
20 - lp_udev_enable | bool
21
22# Systemd
23
24- name: Reload udev systemd
25 listen: reload udev
26 ansible.builtin.systemd_service:
27 name: "{{ lp_udev_service }}"
28 state: reloaded
29 when:
30 - lp_udev_module == 'systemd'
31 - lp_udev_enable | bool
32
33- name: Restart udev systemd
34 listen: restart udev
35 ansible.builtin.systemd_service:
36 name: "{{ lp_udev_service }}"
37 state: restarted
38 when:
39 - lp_udev_module == 'systemd'
40 - lp_udev_enable | bool
41
42# SysV
43
44- name: Reload udev SysV
45 listen: reload udev
46 ansible.builtin.sysvinit:
47 name: "{{ lp_udev_service }}"
48 state: reloaded
49 when:
50 - lp_udev_module == 'sysvinit'
51 - lp_udev_enable | bool
52
53- name: Restart udev SysV
54 listen: restart udev
55 ansible.builtin.sysvinit:
56 name: "{{ lp_udev_service }}"
57 state: restarted
58 when:
59 - lp_udev_module == 'sysvinit'
60 - lp_udev_enable | bool
61
62# EOF
ufw.yml
Synopsis: Configure ufw
Description of the task.
1---
2- name: Restart ufw
3 listen: 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 listen: reset ufw
11 community.general.ufw:
12 state: reset
13
14- name: Reload ufw
15 listen: reload ufw
16 community.general.ufw:
17 state: reloaded
18 when: lp_ufw_enable | bool
19
20# EOF
wpasupplicant.yml
Synopsis: Configure wpasupplicant
Description of the task.
1---
2- name: Reconfigure wpa_supplicant
3 listen: 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_service: "{{ lp_wpasupplicant_service_change[item.item.type | d('default')] }}"
12 when:
13 - item.changed | bool
14 - not lp_wpasupplicant_conf_only | bool
15 - item.item.enabled | d(true)
16
17# [TODO] Wait for OK result. Error: 'RECONFIGURE' command timed out.
18# shell: >
19# [ -S {{ lp_wpasupplicant_conf_ctrl_interface }}/{{ my_dev }} ] &&
20# wpa_cli -p {{ lp_wpasupplicant_conf_ctrl_interface }}
21# -i {{ my_dev }} reconfigure ||
22# exit 0
23
24- name: Reload wpa_supplicant service
25 listen: 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 | d(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