amarao.reboot_if_needed_for_upgrade
reboot-si-necesario-para-actualizacion
Este libro de jugadas reinicia el servidor y espera a que vuelva a estar en línea. Por defecto, reinicia solo si la operación de reinicio está pendiente debido a la operación de actualización de apt-get (/var/run/reboot-required).
Requisitos
El servidor debe ser accesible desde la máquina de Ansible a través de TCP directo por su IP.
Registro de cambios
- Se agregó una verificación previa para ver si el puerto es alcanzable. Usa
skip_pre_reboot_check=true
para omitirla. - Se reestructuró para evitar errores molestos de SSH:
Error al conectar con el host via ssh: Conexión compartida a 192.168.0.2 cerrada.
, ahora utilizaansible_default_ipv4.address
.
Variables del rol
El rol verifica si el puerto de prueba es alcanzable, reinicia el servidor si se solicita un reinicio (por apt o por cualquier persona que establezca una bandera de reinicio), y espera hasta que el puerto esté disponible nuevamente.
Solo funcionará si tienes acceso directo a ese servidor. Normalmente se utiliza ansible_default_ipv4.address
para verificar si el servidor está en línea. Si tienes problemas para obtener la IP externa (blanca) de la instancia, revisa el rol get-external-ip-via-dyndns
.
Variables:
ip_a_probar
: dirección IP a esperar (por defectoansible_default_ipv4.address
, que se recopila mediante el módulo de configuración). Debe ser una IP o un nombre de dominio correcto, y no puedes usar nombres de tussh_config
aquí.puerto_a_probar
: puerto a probar (por defecto 22, ssh)retraso_antes_de_probar
: retraso después del comando de reinicio (por defecto 10)tiempo_de_espera_probar
: tiempo máximo de espera (siip_a_probar:puerto_a_probar
no responde en el tiempo detiempo_de_espera_probar
, el rol falla. por defecto 70 segundos)reinicio_forzado
: reiniciar independientemente de /var/run/reboot-required (por defecto: Falso)retraso_reinicio
: retraso antes de emitir el comando de reinicio (por defecto: 2 segundos), para ayudar a ssh a procesar el comandobandera_de_reinicio
: Ruta a la bandera de reinicioomitir_verificacion_pre_reinicio
: Omitir la verificación del puerto antes del reinicio. Normalmente, el libro de jugadas se detendrá si no puede alcanzar el puerto antes de realizar ningún reiniciotiempo_de_espera_pre_reinicio
: cuánto tiempo esperar un puerto en la verificación previa al reinicio
Ejemplos de Libros de Jugadas
Simple:
- hosts: servers
vars:
tiempo_de_espera_probar: 360
roles:
- amarao.reboot_if_needed_for_upgrade
Complicado:
- hosts: servers
vars:
puerto_a_probar: 2222
ip_a_probar: "{{ ansible_ssh_host }}"
retraso_antes_de_probar: 120
tiempo_de_espera_probar: 360
reinicio_forzado: True
omitir_verificacion_pre_reinicio: true
role:
- amarao.reboot_if_needed_for_upgrade
Licencia
BSD
Información del Autor
(C) 2016-2019, servers.com, por 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