ansible/playbooks/site_post.yml

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