amarao.reboot_if_needed_for_upgrade
reboot-si-nécessaire-pour-mise-à-niveau
Ce playbook redémarre le serveur et attend qu'il revienne en ligne. Par défaut, il ne redémarre que si l'opération de redémarrage est en attente en raison d'une opération de mise à niveau via apt-get (/var/run/reboot-required).
Exigences
Le serveur doit être accessible depuis la machine Ansible via TCP direct par son adresse IP.
Journal des modifications
- ajout d'une vérification préalable pour vérifier si le port est accessible. Utilisez
skip_pre_reboot_check=true
pour l'ignorer. - révisé pour contourner des erreurs SSH désagréables :
Échec de la connexion à l'hôte via ssh : connexion partagée à 192.168.0.2 fermée.
, maintenant il utiliseansible_default_ipv4.address
.
Variables de rôle
Le rôle vérifie si le port d'interrogation est accessible, redémarre le serveur si un redémarrage est demandé (par apt ou par quiconque définissant un drapeau de redémarrage), et attend que le port devienne à nouveau disponible.
Cela ne fonctionnera que si vous avez un accès direct à ce serveur. Normalement, ansible_default_ipv4.address
est utilisé pour vérifier si le serveur est en ligne. Si vous avez des problèmes pour obtenir l'IP externe (blanche) de l'instance, consultez le rôle get-external-ip-via-dyndns.
Variables :
ip_a_interroger
: adresse IP à attendre (par défautansible_default_ipv4.address
, qui est collectée par le module de configuration). Cela doit être une adresse IP ou un nom de domaine valide, et vous ne pouvez pas utiliser de noms provenant de votressh_config
ici.port_a_interroger
: port à interroger (par défaut 22, ssh)delai_avant_interrogation
: délai après la commande de redémarrage (par défaut 10)délai_maximum_interrogation
: temps d'attente maximum (siip_a_interroger
:port_a_interroger
ne répond pas dans le tempsdélai_maximum_interrogation
, le rôle échoue. par défaut 70 secondes)forcer_redémarrage
: Redémarre sans tenir compte de /var/run/reboot-required (par défaut : Faux)delai_avant_redémarrage
: Délai avant l'émission de la commande de redémarrage (par défaut : 2 secondes), pour aider ssh à traiter la commandedrapeau_de_redémarrage
: Chemin vers le drapeau de redémarrageignorer_verification_pre_redémarrage
: Ignorer la vérification du port avant le redémarrage. Normalement, le playbook s'arrête s'il ne peut pas atteindre le port avant d'effectuer un redémarragedélai_pre_redémarrage
: Combien de temps attendre un port lors de la vérification pré-redémarrage
Exemples de Playbooks
Simple :
- hosts: serveurs
vars:
délai_maximum_interrogation: 360
roles:
- amarao.reboot_si_nécessaire_pour_mise_à_niveau
Difficile :
- hosts: serveurs
vars:
port_a_interroger: 2222
ip_a_interroger: "{{ ansible_ssh_host }}"
delai_avant_interrogation: 120
délai_maximum_interrogation: 360
forcer_redémarrage: True
ignorer_verification_pre_redémarrage: true
role:
- amarao.reboot_si_nécessaire_pour_mise_à_niveau
Licence
BSD
Informations sur l'auteur
(C) 2016-2019, servers.com, par 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