Handlers

main.yml

Synopsis: Main task.

Import handlers.

[handlers/main.yml]

 1---
 2# handlers for freebsd_postinstall
 3
 4- name: Import adjkerntz.yml
 5  ansible.builtin.import_tasks: adjkerntz.yml
 6- name: Import apcupsd.yml
 7  ansible.builtin.import_tasks: apcupsd.yml
 8- name: Import devfs.yml
 9  ansible.builtin.import_tasks: devfs.yml
10- name: Import dhclient.yml
11  ansible.builtin.import_tasks: dhclient.yml
12- name: Import fstab.yml
13  ansible.builtin.import_tasks: fstab.yml
14- name: Import hostapd.yml
15  ansible.builtin.import_tasks: hostapd.yml
16- name: Import hostname.yml
17  ansible.builtin.import_tasks: hostname.yml
18- name: Import login.yml
19  ansible.builtin.import_tasks: inetd.yml
20- name: Import inetd.yml
21  ansible.builtin.import_tasks: login.yml
22- name: Import messages.yml
23  ansible.builtin.import_tasks: messages.yml
24- name: Import newaliases.yml
25  ansible.builtin.import_tasks: newaliases.yml
26- name: Import newsyslog.yml
27  ansible.builtin.import_tasks: newsyslog.yml
28- name: Import nfsd.yml
29  ansible.builtin.import_tasks: nfsd.yml
30- name: Import nfs.yml
31  ansible.builtin.import_tasks: nfs.yml
32- name: Import ntpdate.yml
33  ansible.builtin.import_tasks: ntpdate.yml
34- name: Import ntpd.yml
35  ansible.builtin.import_tasks: ntpd.yml
36- name: Import qemu.yml
37  ansible.builtin.import_tasks: qemu.yml
38- name: Import resolvconf.yml
39  ansible.builtin.import_tasks: resolvconf.yml
40- name: Import smartd.yml
41  ansible.builtin.import_tasks: smartd.yml
42- name: Import snmpd.yml
43  ansible.builtin.import_tasks: snmpd.yml
44- name: Import sshd.yml
45  ansible.builtin.import_tasks: sshd.yml
46- name: Import swap.yml
47  ansible.builtin.import_tasks: swap.yml
48- name: Import sysctl.yml
49  ansible.builtin.import_tasks: sysctl.yml
50- name: Import syslogd.yml
51  ansible.builtin.import_tasks: syslogd.yml
52- name: Import wpasupplicant.yml
53  ansible.builtin.import_tasks: wpasupplicant.yml
54
55# EOF
56...

adjkerntz.yml

Synopsis: Handler adjkerntz.

Description of the handler.

[handlers/adjkerntz.yml]

1---
2# adjkerntz
3# update the local time CMOS clock and kernel machdep.adjkerntz
4# variable when timezone changes occur
5- name: adjust CMOS
6  ansible.builtin.command:
7    cmd: adjkerntz -a

apcupsd.yml

Synopsis: Handler apcupsd.

Description of the handler.

[handlers/apcupsd.yml]

 1---
 2# apcupsd
 3
 4- name: enable and start apcupsd
 5  ansible.builtin.service: name=apcupsd state=started enabled=true
 6
 7- name: disable and stop apcupsd
 8  ansible.builtin.service: name=apcupsd state=stopped enabled=false
 9
10- name: restart apcupsd
11  ansible.builtin.service: name=apcupsd state=restarted
12  when: fp_apcupsd_enabled|bool

devfs.yml

Synopsis: Handler devfs.

Description of the handler.

[handlers/devfs.yml]

 1---
 2# devfs
 3
 4- name: enable and start devfs
 5  ansible.builtin.service: name=devfs state=started enabled=true
 6  when: not ansible_check_mode
 7
 8- name: disable and stop devfs
 9  ansible.builtin.service: name=devfs state=stopped enabled=false
10  when: not ansible_check_mode
11
12- name: restart devfs
13  ansible.builtin.service: name=devfs state=restarted
14  when: fp_devfs_enabled|bool

dhclient.yml

Synopsis: Handler dhclient.

Description of the handler.

[handlers/dhclient.yml]

 1---
 2# dhclient
 3- name: restart dhclient
 4  ansible.builtin.service:
 5    name: dhclient
 6    state: restarted
 7
 8- name: restart dhclient all
 9  ansible.builtin.command:
10    cmd: "/etc/rc.d/dhclient restart {{ item }}"
11  loop: "{{ fp_dhclient_ifn }}"
12
13- name: restart dhclient blocks
14  ansible.builtin.command:
15    cmd: "/etc/rc.d/dhclient restart {{ item }}"
16  loop: "{{ fp_dhclient_conf_changes.results|
17            selectattr('changed')|
18            map(attribute='item.ifn')|
19            unique }}"

fstab.yml

Synopsis: Handler fstab.

Description of the handler.

[handlers/fstab.yml]

1---
2# fstab
3# - name: mount all
4#  command: mount -a
5- name: Meta noop
6  ansible.builtin.meta: noop

hostapd.yml

Synopsis: Handler hostapd.

Description of the handler.

[handlers/hostapd.yml]

 1---
 2# hostapd
 3
 4- name: enable and start hostapd
 5  ansible.builtin.service: name=hostapd state=started enabled=true
 6
 7- name: disable and stop hostapd
 8  ansible.builtin.service: name=hostapd state=stopped enabled=false
 9
10- name: restart hostapd
11  ansible.builtin.service: name=hostapd state=restarted
12  when: fp_hostapd_enabled|bool
13
14- name: reload hostapd
15  ansible.builtin.service: name=hostapd state=reloaded
16  when: fp_hostapd_enabled|bool

hostname.yml

Synopsis: Handler hostname.

Description of the handler.

[handlers/hostname.yml]

1---
2# hostname
3- name: set hostname
4  ansible.builtin.command:
5    cmd: "hostname {{ rc_conf_hostname }}"

inetd.yml

Synopsis: Handler inetd.

Description of the handler.

[handlers/inetd.yml]

 1---
 2# inetd
 3
 4- name: enable and start inetd
 5  ansible.builtin.service: name=inetd state=started enabled=true
 6
 7- name: disable and stop inetd
 8  ansible.builtin.service: name=inetd state=stopped enabled=false
 9
10- name: restart inetd
11  ansible.builtin.service: name=inetd state=restarted
12  when: fp_inetd_enabled|bool
13
14- name: reload inetd
15  ansible.builtin.service: name=inetd state=reloaded
16  when: fp_inetd_enabled|bool

login.yml

Synopsis: Handler login.

Description of the handler.

[handlers/login.yml]

1---
2# login.conf
3- name: rebuild login_conf
4  ansible.builtin.command:
5    cmd: "/usr/bin/cap_mkdb /etc/login.conf"

messages.yml

Synopsis: Handler messages.

Description of the handler.

[handlers/messages.yml]

1---
2- name: loader message reboot
3  ansible.builtin.debug:
4    msg: "[MESSAGE] Reboot to activate configuration in /boot/loader.conf"

newaliases.yml

Synopsis: Handler newaliases.

Description of the handler.

[handlers/newaliases.yml]

1---
2# newaliases
3- name: newaliases
4  ansible.builtin.command:
5    cmd: /usr/bin/newaliases

newsyslog.yml

Synopsis: Handler newsyslog.

Description of the handler.

[handlers/newsyslog.yml]

 1---
 2# newsyslog
 3
 4- name: create newsyslog
 5  ansible.builtin.command: newsyslog -C
 6
 7- name: create all newsyslog
 8  ansible.builtin.command: newsyslog -CC
 9
10# EOF

nfs.yml

Synopsis: Handler nfs.

Description of the handler.

[handlers/nfs.yml]

 1---
 2# nfs
 3
 4- name: enable and start nfs client
 5  ansible.builtin.service: name=nfsclient state=started enabled=true
 6
 7- name: disable and stop nfs client
 8  ansible.builtin.service: name=nfsclient state=stopped enabled=false
 9
10- name: restart nfs client
11  ansible.builtin.service: name=nfsclient state=restarted
12  when: fp_nfs_enable|bool

nfsd.yml

Synopsis: Handler nfsd.

Description of the handler.

[handlers/nfsd.yml]

 1---
 2
 3# nfsd
 4- name: enable and start nfs server
 5  ansible.builtin.service: name=nfsd state=started enabled=true
 6- name: disable and stop nfs server
 7  ansible.builtin.service: name=nfsd state=stopped enabled=false
 8- name: restart nfs server
 9  ansible.builtin.service: name=nfsd state=restarted
10  when: fp_nfsd_enable|bool
11
12# mountd
13- name: enable and start mountd
14  ansible.builtin.service: name=mountd state=started enabled=true
15- name: disable and stop mountd
16  ansible.builtin.service: name=mountd state=stopped enabled=false
17- name: reload mountd
18  ansible.builtin.service: name=mountd state=reloaded
19  when: fp_mountd_enable|bool
20
21# rpcbind
22- name: enable and start rpcbind
23  ansible.builtin.service: name=rpcbind state=started enabled=true
24- name: disable and stop rpcbind
25  ansible.builtin.service: name=rpcbind state=stopped enabled=false
26- name: restart rpcbind
27  ansible.builtin.service: name=rpcbind state=restarted
28  when: fp_rpcbind_enable|bool
29
30# lockd
31- name: enable and start lockd
32  ansible.builtin.service: name=lockd state=started enabled=true
33- name: disable and stop lockd
34  ansible.builtin.service: name=lockd state=stopped enabled=false
35- name: restart lockd
36  ansible.builtin.service: name=lockd state=restarted
37  when: fp_rpc_lockd_enable|bool
38
39# statd
40- name: enable and start statd
41  ansible.builtin.service: name=statd state=started enabled=true
42- name: disable and stop statd
43  ansible.builtin.service: name=statd state=stopped enabled=false
44- name: restart statd
45  ansible.builtin.service: name=statd state=restarted
46  when: fp_rpc_statd_enable|bool

ntpd.yml

Synopsis: Handler ntpd.

Description of the handler.

[handlers/ntpd.yml]

 1---
 2# ntpd
 3
 4- name: enable and start ntpd
 5  ansible.builtin.service: name=ntpd state=started enabled=true
 6
 7- name: disable and stop ntpd
 8  ansible.builtin.service: name=ntpd state=stopped enabled=false
 9
10- name: restart ntpd
11  ansible.builtin.service: name=ntpd state=restarted
12  when: fp_ntp_enable|bool

ntpdate.yml

Synopsis: Handler ntpdate.

Description of the handler.

[handlers/ntpdate.yml]

1---
2# ntpdate
3
4- name: enable ntpdate
5  ansible.builtin.service: name=ntpdate enabled=true
6
7- name: disable ntpdate
8  ansible.builtin.service: name=ntpdate enabled=false

qemu.yml

Synopsis: Handler qemu.

Description of the handler.

[handlers/qemu.yml]

 1---
 2# qemu
 3
 4- name: enable and start qemu
 5  ansible.builtin.service: name="{{ fp_qemu_rcvar }}" state=started enabled=true
 6
 7- name: disable and stop qemu
 8  ansible.builtin.service: name="{{ fp_qemu_rcvar }}" state=stopped enabled=false
 9
10- name: restart qemu
11  ansible.builtin.service: name="{{ fp_qemu_rcvar }}" state=restarted
12  when: fp_qemu_enabled|bool
13
14- name: reload qemu
15  ansible.builtin.service: name="{{ fp_qemu_rcvar }}" state=reloaded
16  when: fp_qemu_enabled|bool

resolvconf.yml

Synopsis: Handler resolvconf.

Description of the handler.

[handlers/resolvconf.yml]

1---
2# resolvconf
3- name: resolvconf apply
4  ansible.builtin.command:
5    cmd: resolvconf -u

smartd.yml

Synopsis: Handler smartd.

Description of the handler.

[handlers/smartd.yml]

 1---
 2# smartd
 3
 4- name: enable and start smartd
 5  ansible.builtin.service: name=smartd state=started enabled=true
 6
 7- name: disable and stop smartd
 8  ansible.builtin.service: name=smartd state=stopped enabled=false
 9
10- name: restart smartd
11  ansible.builtin.service: name=smartd state=restarted
12  when: fp_smartd_enabled|bool
13
14- name: reload smartd
15  ansible.builtin.service: name=smartd state=reloaded
16  when: fp_smartd_enabled|bool

snmpd.yml

Synopsis: Handler snmpd.

Description of the handler.

[handlers/snmpd.yml]

 1---
 2# snmpd
 3
 4- name: enable and start snmpd
 5  ansible.builtin.service: name=snmpd state=started enabled=true
 6
 7- name: disable and stop snmpd
 8  ansible.builtin.service: name=snmpd state=stopped enabled=false
 9
10- name: restart snmpd
11  ansible.builtin.service: name=snmpd state=restarted
12  when: fp_snmpd_enabled|bool

sshd.yml

Synopsis: Handler sshd.

Description of the handler.

[handlers/sshd.yml]

 1---
 2# sshd
 3
 4- name: enable and start sshd
 5  ansible.builtin.service: name=sshd state=started enabled=true
 6
 7- name: disable and stop sshd
 8  ansible.builtin.service: name=sshd state=stopped enabled=false
 9
10- name: restart sshd
11  ansible.builtin.service: name=sshd state=restarted
12  when: fp_sshd_enable|bool
13
14- name: reload sshd
15  ansible.builtin.service: name=sshd state=reloaded
16  when: fp_sshd_enable|bool

swap.yml

Synopsis: Handler swap.

Description of the handler.

[handlers/swap.yml]

 1---
 2# swap
 3- name: create swap
 4  ansible.builtin.command:
 5    cmd: >
 6      sh -c
 7      'dd if=/dev/zero of={{ fp_swap_file }} bs=1m count={{ fp_swap_size }} &&
 8      chmod 0600 {{ fp_swap_file }}'
 9
10- name: mount swap
11  ansible.builtin.command:
12    cmd: sh -c 'swapon -aL'
13  register: command_result
14  failed_when: "'adding' not in command_result.stdout"
15# NOTE 1: swapon creates /dev/mdXX
16# NOTE 2: Successful mount returns exit code 1
17# FreeBSD 11.1. Ansible 2.5 command_result:
18# RUNNING HANDLER [vbotka.freebsd-postinstall : mount swap] ***
19# fatal: [aaa.bbb.ccc.ddd]: FAILED! => changed=true
20#  cmd: sh -c 'swapon -aL'
21#  delta: '0:00:00.025491'
22#  end: '2018-07-01 05:47:56.905803'
23#  msg: non-zero return code
24#  rc: 1
25#  start: '2018-07-01 05:47:56.880312'
26#  stderr: ''
27#  stderr_lines: []
28#  stdout: 'swapon: adding /dev/md99 as swap device'
29#  stdout_lines: <omitted>
30
31- name: change and mount swap
32  ansible.builtin.command:
33    cmd: >
34      sh -c
35      'swapoff /dev/{{ fp_swap_md }} &&
36      mdconfig -d -u {{ fp_swap_md }} &&
37      dd if=/dev/zero of={{ fp_swap_file }} bs=1m count={{ fp_swap_size }} &&
38      chmod 0600 {{ fp_swap_file }} &&
39      swapon -aL'
40
41- name: umount and delete swap
42  ansible.builtin.command:
43    cmd: >
44      sh -c
45      'swapoff /dev/{{ fp_swap_md }} &&
46      mdconfig -d -u {{ fp_swap_md }} &&
47      rm {{ fp_swap_file }}'

sysctl.yml

Synopsis: Handler sysctl.

Description of the handler.

[handlers/sysctl.yml]

1---
2# sysctl
3
4- name: reload sysctl
5  ansible.builtin.service: name=sysctl state=reloaded

syslogd.yml

Synopsis: Handler syslogd.

Description of the handler.

[handlers/syslogd.yml]

 1---
 2# syslogd
 3
 4- name: enable and start syslogd
 5  ansible.builtin.service: name=syslogd state=started enabled=true
 6
 7- name: disable and stop syslogd
 8  ansible.builtin.service: name=syslogd state=stopped enabled=false
 9
10- name: restart syslogd
11  ansible.builtin.service: name=syslogd state=restarted
12  when: fp_syslogd_enabled|bool
13
14- name: reload syslogd
15  ansible.builtin.service: name=syslogd state=reloaded
16  when: fp_syslogd_enabled|bool

wpasupplicant.yml

Synopsis: Handler wpasupplicant.

Description of the handler.

[handlers/wpasupplicant.yml]

 1---
 2# wpasupplicant
 3
 4- name: restart netif
 5  ansible.builtin.service: name=netif state=restarted
 6
 7- name: reconfigure wpa_supplicant
 8  ansible.builtin.shell:
 9    cmd: >
10      [ -S {{ fp_wpasupplicant_conf_ctrl_interface }}/{{ item.item.dev }} ] &&
11      wpa_cli -p {{ fp_wpasupplicant_conf_ctrl_interface }} -i {{ item.item.dev }} reconfigure  ||
12      exit 0
13  when: item.changed
14  loop: "{{ fp_wpa_supplicant_conf_changes }}"
15
16# TODO: Wait for OK result. Error: 'RECONFIGURE' command timed out.