amarao.reboot_if_needed_for_upgrade
reboot-wenn-erforderlich-für-upgrade
Dieses Playbook startet den Server neu und wartet darauf, dass er wieder online kommt. Standardmäßig erfolgt ein Neustart nur, wenn ein Neustart erforderlich ist aufgrund einer apt-get Upgrade-Operation (/var/run/reboot-required).
Anforderungen
Der Server sollte von der Ansible-Maschine über TCP direkt über seine IP erreichbar sein.
Änderungsprotokoll
- Vorabprüfung hinzugefügt, um zu prüfen, ob der Port erreichbar ist. Verwenden Sie
skip_pre_reboot_check=true
, um dies zu umgehen. - Überarbeitet, um lästige SSH-Fehler zu umgehen:
Fehler beim Verbinden mit dem Host über ssh: Gemeinsame Verbindung zu 192.168.0.2 geschlossen.
, jetzt wirdansible_default_ipv4.address
verwendet.
Rollenvariablen
Die Rolle überprüft, ob der zu prüfende Port erreichbar ist, startet den Server neu, wenn ein Neustart angefordert wird (durch apt oder durch jeden, der einen Neustart-Flag setzt), und wartet, bis der Port wieder verfügbar ist.
Es funktioniert nur, wenn Sie direkten Zugriff auf diesen Server haben. Normalerweise wird ansible_default_ipv4.address
verwendet, um zu prüfen, ob der Server online ist. Wenn Sie Probleme haben, die externe (öffentliche) IP-Adresse von der Instanz abzurufen, überprüfen Sie die Rolle get-external-ip-via-dyndns.
Variablen:
ip_to_probe
: IP-Adresse, auf die gewartet werden soll (Standard istansible_default_ipv4.address
, das durch das Setup-Modul gesammelt wird). Es muss eine gültige IP-Adresse oder ein Domänenname sein, und Sie können hier keine Namen aus Ihrerssh_config
verwenden.port_to_probe
: Port, der geprüft werden soll (Standard 22, ssh)delay_before_probe
: Verzögerung nach dem Neustartbefehl (Standard 10)probe_timeout
: Maximale Wartezeit (wennip_to_probe:port_to_probe
in der Zeit vonprobe_timeout
nicht antwortet, schlägt die Rolle fehl. Standard 70 Sekunden)force_reboot
: Neustart unabhängig von /var/run/reboot-required (Standard: False)reboot_delay
: Verzögerung vor dem Ausführen des Neustartbefehls (Standard: 2 Sekunden), um SSH bei der Verarbeitung des Befehls zu helfenreboot_flag
: Pfad zum Neustart-Flagskip_pre_reboot_check
: Vorabprüfung des Ports vor dem Neustart überspringen. Normalerweise stoppt das Playbook, wenn der Port vor dem Neustart nicht erreichbar ist.pre_reboot_timeout
: Wie lange auf einen Port bei der Vorabprüfung gewartet werden soll.
Beispiel-Playbooks
Einfach:
- hosts: servers
vars:
probe_timeout: 360
roles:
- amarao.reboot_wenn_erforderlich_für_upgrade
Tricky:
- hosts: servers
vars:
port_to_probe: 2222
ip_to_probe: "{{ ansible_ssh_host }}"
delay_before_probe: 120
probe_timeout: 360
force_reboot: True
skip_pre_reboot_check: true
role:
- amarao.reboot_wenn_erforderlich_für_upgrade
Lizenz
BSD
Autoreninformation
(C) 2016-2019, servers.com, von George Shuklin
Reboots if reboot is pending after apt-get upgrade (dist-upgrade) and waits until host returns back online.
ansible-galaxy install amarao.reboot_if_needed_for_upgrade