2
0
Files
Ansible/Maintenance/maint-reboot-required.yaml
2024-06-08 15:52:01 +02:00

49 lines
1.3 KiB
YAML

---
- name: Check if system reboot is required
hosts: all
become: yes
become_user: root
tasks:
- name: Check if a reboot is required
register: reboot
ansible.builtin.stat:
path: /var/run/reboot-required
- name: Reboot machine
ansible.builtin.reboot:
when: reboot.stat.exists
- name: Wait for systems to become reachable
wait_for_connection:
delay: 5
timeout: 300
- name: Add server to rebooted_servers list
set_fact:
rebooted_servers: "{{ ansible_hostname }}"
when: reboot.stat.exists
- name: Gather rebooted_servers list
set_fact:
rebooted_servers_all: "{{ hostvars|selectattr('rebooted_servers', 'defined')|map(attribute='rebooted_servers')|list }}"
run_once: true
- name: Debug rebooted servers
debug:
var: rebooted_servers_all
- name: Send Teams notification
run_once: true
uri:
url: "{{ Teams_webhook }}"
method: POST
body: |
{
"title": "Playbook: {{ ansible_play_name }}",
"text": "The following servers were rebooted: {{ rebooted_servers_all | join(', ') }}"
}
body_format: json
headers:
Content-Type: application/json
when: rebooted_servers | length != 0