Скажімо, я виконую наступне.
$ 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
$
Я точно знаю, що це було успішно.
Де / як я бачу "Hello World", що відображається / друкується моїм сценарієм на віддаленому хості (MyTestHost)? Або код повернення / виходу сценарію?
Моє дослідження показує мені, що можна було б написати плагін для перехоплення зворотних викликів виконання модуля або чогось іншого в цих рядках і написати файл журналу. Я волів би не витрачати свій час на це.
Наприклад, щось на зразок stdout внизу (зверніть увагу, що я запускаю ansible, а не 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"
}
$
set -x
іset +x
в сценарії оболонки.