From 4b626dc6bef008ff4f31d3e1155966011392afed Mon Sep 17 00:00:00 2001 From: Salt Date: Wed, 15 Dec 2021 19:32:19 -0600 Subject: [PATCH] Implement communication with Nagios when rebooting boxes One step closer to that full automation goal --- playbooks/tags_autoreboot.yml | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/playbooks/tags_autoreboot.yml b/playbooks/tags_autoreboot.yml index 81fbfa2..4f051ab 100755 --- a/playbooks/tags_autoreboot.yml +++ b/playbooks/tags_autoreboot.yml @@ -2,12 +2,34 @@ # vim:ft=ansible: --- - hosts: tags_autoreboot + 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 - reboot: reboot_timeout=300 + 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=300 when: s.stat.exists - become: yes