ansible/reboot_required.yml
2021-06-10 14:41:21 +02:00

40 lines
1006 B
YAML

---
- name: Reboot host
hosts: all
remote_user: root
tasks:
- name: check if reboot is required
stat:
path: /lib/modules/{{ ansible_kernel }}
register: modules
- name: reboot host
shell: 'sleep 5 && shutdown -r now "Reboot by Ansible."'
register: reboot
async: 1
poll: 0
ignore_errors: true
when: modules.stat.isdir is not defined
- name: wait for server to come down
local_action: wait_for host={{ inventory_hostname }} port=22 state=stopped
when:
- reboot.stdout is defined
- "'Reboot by Ansible.' in reboot.stdout"
- name: wait for server to come up
local_action: wait_for host={{ inventory_hostname }} port=22 state=started
when:
- reboot.stdout is defined
- "'Reboot by Ansible.' in reboot.stdout"
- name: check uptime
shell: 'uptime'
register: uptime
- name: show uptime
debug:
msg: "Uptime: {{ uptime.stdout }}"
...