Cependant, avec ANSIBLE, quand on lance un redémarrage du serveur, il faut indiquer qu'il faut attendre un certain temps avant de lancer l'action suivante. Sinon, c'est un échec assuré...
Car l'hôte distant doit être UP, et encore, même quand on le ping, le serveur n'a peut être pas lancer tout ses services...
On peut donc ajouter un délai d'attente avec le module wait_for. Voici les lignes de code qui pourront vous aider si vous êtes dans cette situation.
SOURCE: https://support.ansible.com/hc/en-us/articles/201958037-Reboot-a-server-and-wait-for-it-to-come-back### Redémarrage - name: restart machine shell: sleep 2 && shutdown -r now "Ansible updates triggered" async: 1 poll: 0 sudo: true ignore_errors: true ### Attente que le serveur soit revenu! - name: waiting for server to come back local_action: wait_for host={{ inventory_hostname }} state=started delay=30 timeout=300 sudo: false
TASK: [conf | Modification /etc/selinux/config] ***************************
RépondreSupprimerREMOTE_MODULE lineinfile dest=/etc/selinux/config regexp=^SELINUX= line=SELINUX=disabled
REMOTE_MODULE lineinfile dest=/etc/selinux/config regexp=^SELINUX= line=SELINUX=disabled
REMOTE_MODULE lineinfile dest=/etc/selinux/config regexp=^SELINUX= line=SELINUX=disabled
REMOTE_MODULE lineinfile dest=/etc/selinux/config regexp=^SELINUX= line=SELINUX=disabled
REMOTE_MODULE lineinfile dest=/etc/selinux/config regexp=^SELINUX= line=SELINUX=disabled
changed: [bo-machine] => {"backup": "", "changed": true, "msg": "line replaced"}
changed: [machine2] => {"backup": "", "changed": true, "msg": "line replaced"}
changed: [machine1] => {"backup": "", "changed": true, "msg": "line replaced"}
changed: [machine-index2] => {"backup": "", "changed": true, "msg": "line replaced"}
changed: [machine-index1] => {"backup": "", "changed": true, "msg": "line replaced"}
TASK: [conf | restart machine] ********************************************
finished on machine-index1
finished on bo-machine
finished on machine-index2
finished on machine2
finished on machine1
TASK: [conf | waiting for server to come back] ****************************
<127.0.0.1> REMOTE_MODULE wait_for host=machine-index1 state=started delay=30 timeout=300
<127.0.0.1> REMOTE_MODULE wait_for host=machine1 state=started delay=30 timeout=300
<127.0.0.1> REMOTE_MODULE wait_for host=machine-index2 state=started delay=30 timeout=300
<127.0.0.1> REMOTE_MODULE wait_for host=bo-machine state=started delay=30 timeout=300
<127.0.0.1> REMOTE_MODULE wait_for host=machine2 state=started delay=30 timeout=300