Модуль оболочки не работает, но модуль raw работает .. в Ansible - PullRequest
0 голосов
/ 21 июня 2019

моя клиентская машина 5.11 и python версии 2.7, но все равно не работает

root@00047BLRSANDEEPC:/mnt/e/Ansible-project/Solarwind/systems_swiagent_install/tests# ansible -i hosts all -m shell -a "cat /etc/redhat-release"
10.XX.XX.XX | FAILED! => {
    "changed": false,
    "module_stderr": "Shared connection to 10.XX.XX.XX closed.\r\n",
    "module_stdout": "  File \"/root/.ansible/tmp/ansible-tmp-1561087764.46-1054359176771/AnsiballZ_command.py\", line 39\r\n    with open(module, 'wb') as f:\r\n            ^\r\nSyntaxError: invalid syntax\r\n",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 1
}

Работает ->

root@00047BLRSANDEEPC:/mnt/e/Ansible-project/Solarwind/systems_swiagent_install/tests# ansible -i hosts all -m raw -a "cat /etc/redhat-release"
10.XX.XX.XX | CHANGED | rc=0 >>
CentOS release 5.11 (Final)
Shared connection to 10.XX.XX.XX closed.

1 Ответ

0 голосов
/ 21 июня 2019

Необработанный модуль не требует установки Python. Следовательно, это дает требуемый результат.
Во время выполнения команды оболочки он не может обнаружить python на этом удаленном хосте. Попробуйте установить исполняемый файл python в переменной PATH. ansible -i содержит все -m shell -a "export PATH = : $ PATH && cat / etc / redhat-release"

Если это работает, попробуйте установить python в переменную PATH, а затем выполните все команды.

...