Salt
d8fe08f879
Originally, I had broken out the other site_*.yml files in an attempt to organize the individual portions of site.yml out, as it was growing long. But now I have a solution to its length and its consistency that doesn't involve using multiple playbooks, so I may as well merge everything back in again.
43 lines
1.2 KiB
YAML
Executable File
43 lines
1.2 KiB
YAML
Executable File
#!/usr/bin/env ansible-playbook
|
|
# vim:ft=ansible:
|
|
---
|
|
- 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
|