feat(Debian): add reboot handler if needed

This commit is contained in:
Tobias Trabelsi 2025-02-07 17:17:37 +01:00
parent 1ee07d84ce
commit 9450ad2632
Signed by: lerentis
GPG Key ID: FF0C2839718CAF2E

View File

@ -1,22 +1,22 @@
---
- name: Update apt keys
become: yes
become: true
command: apt-key update
when: ansible_os_family == "Debian" or ansible_os_family == "OSMC"
- name: Upgrade all packages to the latest version
become: yes
become: true
apt:
upgrade: dist
update_cache: yes
update_cache: true
cache_valid_time: 3600
environment:
PATH: "{{ ansible_env.PATH }}:/sbin:/usr/sbin"
when: ansible_os_family == "Debian" or ansible_os_family == "OSMC"
- name: Remove useless packages from the cache
become: yes
become: true
become_method: sudo
ignore_errors: true
command: >
@ -26,7 +26,7 @@
when: ansible_os_family == "Debian" or ansible_os_family == "OSMC"
- name: install packages
become: yes
become: true
apt:
name: "{{ package_list | list }}"
state: present
@ -41,4 +41,29 @@
debug:
msg: "Restart Required!!"
ignore_errors: true
when: reboot_required_file.stat.exists == true
when: reboot_required_file.stat.exists == true
- name: "Reboot"
shell: 'sleep 2 && shutdown -r now'
become: true
async: 1
poll: 0
ignore_errors: true
when: reboot_required_file.stat.exists == true
# This pause is mandatory, otherwise the existing control connection gets reused!
- name: "pause "
pause:
seconds: 30
when: reboot_required_file.stat.exists == true
- name: "wait till server comes back online"
local_action: shell ansible -u {{ ansible_user_id }} -m ping {{ inventory_hostname }}
register: result
until: result.rc == 0
retries: 30
delay: 15
when: reboot_required_file.stat.exists == true
- name: Re-gather facts
action: setup