Disons que j'exécute ce qui suit.
$ cat test.sh
#!/bin/bash
echo Hello World
exit 0
$ cat Hello.yml
---
- hosts: MyTestHost
tasks:
- name: Hello yourself
script: test.sh
$ ansible-playbook Hello.yml
PLAY [MyTestHost] ****************************************************************
GATHERING FACTS ***************************************************************
ok: [MyTestHost]
TASK: [Hello yourself] ********************************************************
ok: [MyTestHost]
PLAY RECAP ********************************************************************
MyTestHost : ok=2 changed=0 unreachable=0 failed=0
$
Je sais avec certitude que c'est un succès.
Où/comment puis-je voir l'écho/impression de "Hello World" par mon script sur l'hôte distant (MyTestHost) ? Ou le code de retour/de sortie de script ?
Mes recherches me montrent qu'il serait possible d'écrire un plugin pour intercepter les callbacks d'exécution des modules ou quelque chose de ce genre et écrire un fichier journal. Je préfère ne pas perdre mon temps avec cela.
Par exemple, quelque chose comme le stdout ci-dessous (notez que j'exécute ansible et non ansible-playbook) :
$ ansible plabb54 -i /project/plab/svn/plab-maintenance/ansible/plab_hosts.txt -m script -a ./test.sh
plabb54 | success >> {
"rc": 0,
"stderr": "",
"stdout": "Hello World\n"
}
$