我有一个剧本,在本地测试虚拟机(CentOS7)中运行时没有错误,但是当我在生产服务器(RHEL7)上运行同一个剧本时。
我运行以下命令
sudo ansible-playbook passwords.yml -e
我一直收到以下错误:
'ansible_python_interpreter=/usr/bin/python3' -i irm-inventory -bK
BECOME password:
PLAY [Adjust password settings] ******************************************************************************************************************
TASK [Gathering Facts] ***************************************************************************************************************************
fatal: [SERVERNAME]: FAILED! => {"ansible_facts": {}, "changed": false, "failed_modules": {"setup": {"failed": true, "module_stderr":
"Shared connection to SERVER_IP closed.\r\n", "module_stdout": "\r\n",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc":
1}}, "msg": "The following modules failed to execute: setup\n"}
**************************************************************************************************************************************
SERVERNAME : ok=0 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
导致此问题的可能原因是什么?我已经尝试使用 python2 和 python3
答案1
您ansible-playbook
使用以下-bK
参数进行调用:请求特权升级密码并使用 become 运行操作。这通常没问题,但可能会导致问题。
我建议先尝试-bK
一下。如果它有效,那么你的剧本就不需要了become
。如果它因特定于任务的错误而失败,那么尝试不同的become_method
:
(在游戏或任务级别)覆盖 ansible.cfg 中设置的默认方法,设置为 sudo/su/pbrun/pfexec/doas/dzdo/ksu