Buenos dias a tod@as!
En el post de hoy, vamos a ver como conseguir que Ansible ejecute acciones sólo cuando la ejecución de otras acciones haya cambiado.
Acordaros que ansible trabaja con la propiedad de idempotencia, la cual asegura que ninguna operación se realizará una vez el sistema haya alcanzado el estado deseado. Teniendo esto en cuenta, se podria dar el caso de que quisieramos reiniciar un servicio después de modificar un fichero de configuración. El fichero una vez modificado, ya no se cambiaria más en futuras ejecuciones del playbok, pero sin embargo el servicio, cada vez se reiniciaria.
Por ejemplo, un playbook que cambia el nivel de debug en un servidor ESXi y luego reinicia el servicio “vpxa”. Sólo queremos que reinicie el servicio en caso de que realmente se haya cambiado el nivel de debug.
Usando la opción register
podemos, registrar el resultado de una tarea y, en otra tarea, podemos acceder a esta variable y usarla con when
para que se ejecute si la acción anterior cambió el estado de las máquinas:
1 |
|
Espero que os sea de utilidad.
Hasta el próximo post
Un saludo!
Miquel.