FreeBSD 14
Sponsored Link

Ansible : Use Playbook (notify)2024/09/11

 

To use [notify], [handlers], it's possible to execute a task which is defined in [handlers] after a task completed which has [notify] method.

[1] For example, create a Playbook that [sshd] is restarted after editing [sshd_config].
freebsd@dlp:~ $
vi playbook_sample.yml
- hosts: target_servers
  become: yes
  become_method: sudo
  handlers:
  - name: restart sshd
    service: name=sshd state=restarted
  tasks:
  - lineinfile:
      path: /etc/ssh/sshd_config
      regexp: '^#PermitRootLogin'
      line: 'PermitRootLogin prohibit-password'
    notify: restart sshd
    tags: Edit_sshd_config

freebsd@dlp:~ $
ansible-playbook playbook_sample.yml --ask-become-pass

BECOME password:

PLAY [target_servers] **********************************************************************

TASK [Gathering Facts] *********************************************************************
ok: [10.0.0.51]
ok: [10.0.0.52]

TASK [lineinfile] **************************************************************************
changed: [10.0.0.52]
changed: [10.0.0.51]

RUNNING HANDLER [restart sshd] *************************************************************
changed: [10.0.0.52]
changed: [10.0.0.51]

PLAY RECAP *********************************************************************************
10.0.0.51                  : ok=3    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
10.0.0.52                  : ok=3    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

# verify

freebsd@dlp:~ $
ansible target_servers -m command -a "grep '^PermitRootLogin' /etc/ssh/sshd_config" -b --ask-become-pass

BECOME password:
10.0.0.52 | CHANGED | rc=0 >>
PermitRootLogin prohibit-password
10.0.0.51 | CHANGED | rc=0 >>
PermitRootLogin prohibit-password
Matched Content