总结

总结

我无法再弄清楚这一点,因为我不知道如何从 ansible 中获取“真正的”错误消息。我运行了下面的命令

$ ansible -i /opt/ansible/ec2.py "tag_Function_app:&tag_Application_pro:&tag_Environment_pqa"   --private-key=~/.ssh/id_root_rsa -m shell --sudo -a "service httpd restart" -u root 

但最终却出现了一个非常不起眼的错误

10.221.142.0 | FAILED | rc=0 >>
MODULE FAILURE

到底发生了什么? 有没有办法让我进一步调试? 尝试严格使用用户/sshkey 进行 ssh 可以正常工作?

答案1

当未安装 Python 2.x 时也会出现此错误/usr/bin/python。例如在 Ubuntu 16.04 上,您必须安装它:

sudo apt -y update && sudo apt install -y python-minimal

另请参阅ansible 文档

答案2

答案是,用户没有sudo权限。谢谢大家 =)

答案3

免责声明

就我而言,这不是与 sudo 相关的问题。发布以完成。

总结

不要将虚拟环境与两个不同版本的 ansible 一起使用(一个在 OS 中,另一个在 pip-virtualenv 中)

解释部分

我对模块“shell”也遇到了同样的错误。

ansible -i ~/ansible-hosts example01 -mshell -a 'df -Ph':模块故障

ssh example01 'df -Ph': 没问题。

问题

我的 Debian 中的版本(使用 aptitude 安装)是,2.2.1.0而我的 Virtualenv 中的版本(使用 Virtualenv 中的 pip 安装)是2.2.2.0

解决

我卸载了两者,然后在 Virtualenv 中重新安装了其中一个。

韋斯

答案4

我在虚拟环境中安装了 ansible,并使用了星系角色和不同的名称,这不知何故将它们打乱了,并导致了此错误消息。删除了虚拟环境并重新开始,一切又恢复正常。

相关内容