2022-03-07 10:46:02 -06:00
|
|
|
#!/usr/bin/env ansible-playbook
|
|
|
|
# vim:ft=ansible:
|
|
|
|
---
|
2022-04-18 11:18:34 -05:00
|
|
|
- hosts: all
|
|
|
|
gather_facts: no
|
|
|
|
tasks:
|
|
|
|
- name: touch ansible timestamp file
|
|
|
|
file: path=/var/lib/ansible-last-run state=touch mode='0644'
|
|
|
|
changed_when: no
|
|
|
|
- hosts: tags_autoreboot
|
|
|
|
gather_facts: no
|
|
|
|
module_defaults:
|
|
|
|
nagios:
|
|
|
|
author: Ansible
|
|
|
|
action: downtime
|
|
|
|
cmdfile: /data/nagios/var/rw/nagios.cmd
|
|
|
|
comment: "Ansible tags_autoreboot task"
|
|
|
|
host: "{{ inventory_hostname }}"
|
|
|
|
minutes: 10
|
|
|
|
serial: 1
|
|
|
|
tasks:
|
|
|
|
- name: check for reboot-required
|
|
|
|
stat: path=/var/run/reboot-required
|
|
|
|
register: s
|
|
|
|
- name: reboot
|
|
|
|
block:
|
|
|
|
- name: attempt to schedule downtime
|
|
|
|
block:
|
|
|
|
- name: register nagios host downtime
|
|
|
|
nagios:
|
|
|
|
service: host
|
|
|
|
delegate_to: web3.dallas.mgmt.desu.ltd
|
|
|
|
- name: register nagios service downtime
|
|
|
|
nagios:
|
|
|
|
service: all
|
|
|
|
delegate_to: web3.dallas.mgmt.desu.ltd
|
|
|
|
rescue:
|
|
|
|
- name: notify of failure to reboot
|
|
|
|
debug: msg="Miscellaneous failure when scheduling downtime"
|
|
|
|
- name: reboot
|
|
|
|
reboot: reboot_timeout=600
|
|
|
|
when: s.stat.exists
|