ansible-sshd/handlers/main.yml
Markus Linnala 66785690fa Support inject_facts_as_vars = false
Use facts via ansible_facts only.

Made using:
  git ls-files -z|grep -z yml|xargs -0r sed --follow-symlinks -Ei \
    "s/ansible_(virtualization_type|os_family|distribution\w*)/ansible_facts['\1']/g"
2023-08-29 12:40:48 +02:00

42 lines
1.4 KiB
YAML

---
- name: Reload the SSH service
ansible.builtin.service:
name: "{{ sshd_service }}"
state: reloaded
when:
- sshd_allow_reload|bool
- ansible_facts['virtualization_type']|default(None) not in __sshd_skip_virt_env
- ansible_connection != 'chroot'
- ansible_facts['os_family'] != 'AIX'
- ansible_facts['os_family'] != 'OpenWrt'
listen: reload_sshd
# sshd on AIX cannot be 'reloaded', it must be Stopped+Started.
# It's dangerous to do this in two tasks.. you're stopping SSH and then trying to SSH back in to start it.
# Instead, use a dirty shell script:
# https://www.ibm.com/developerworks/community/blogs/brian/entry/scripting_the_stop_and_restart_of_src_controlled_processes_on_aix6
- name: Reload sshd Service (AIX)
ansible.builtin.shell: |
set -eu
if set -o | grep pipefail 2>&1 /dev/null ; then
set -o pipefail
fi
stopsrc -s sshd
until $(lssrc -s sshd | grep -q inoperative); do sleep 1; done
startsrc -s sshd
listen: reload_sshd
changed_when: false
when:
- sshd_allow_reload|bool
- ansible_facts['os_family'] == 'AIX'
# sshd on OpenWrt does not support reloading a service, it has to be restarted instead
- name: Reload the SSH service (OpenWrt)
ansible.builtin.service:
name: "{{ sshd_service }}"
state: restarted
when:
- sshd_allow_reload|bool
- ansible_facts['os_family'] == 'OpenWrt'
listen: reload_sshd