我有一个奇怪的问题与Ansible (非常)清洁安装10.11.6。我安装了brew,zsh,噢-my,Lil‘snitch和1 1password (实际上没有其他东西)。我装的是..。
brew install ansible
..。这很成功。然后我去了一个已经存在(而且非常简单)的Ansible项目,并做了一个.
ansible -m ping all
然后它让我输入我的SSH密码。我已经从以前的安装中恢复了密钥,但是我以前并没有把ssh放到服务器中。我进入密码,ansible回来了..。
$ ansible -m ping all
host1 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh.",
"unreachable": true
}
然后我把ssh放到服务器上,检查一切正常,并且连接没有任何问题。
然后我重新开始.
$ ansible -m ping all
它又回来了..。
host1 | FAILED! => {
"changed": false,
"failed": true,
"module_stderr": "",
"module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n",
"msg": "MODULE FAILURE",
"parsed": false
}
..。有点儿奇怪吗?它似乎在说它再也找不到蟒蛇了,尽管它第一次发现了?
$ which python
返回/usr/bin/python
$ python --version
返回Python 2.7.10
$ which ansible
返回/usr/local/bin/ansible
$ ansible --version
返回
ansible 2.1.1.0
config file = /pathtoproject/ansible.cfg
configured module search path = Default w/o overrides
我故意没有安装pyenv、virtualenv等等。
/usr/bin/python
是绝对存在的,我可以运行python而不存在任何问题。
帮助?!:)我是一个Ruby,我情不自禁地认为我遗漏了一些显而易见的东西,但正如我所理解的那样,所有的版本都检查出来了,所有的东西都应该正常工作。我尝试将我的shell更改为sh并重新运行ansible -m ping all
,但是它以同样的方式失败了。
有什么想法吗?
发布于 2016-11-18 02:18:44
如果远程主机上没有安装python,就会发生这种情况。不可信文件建议为每一个主机手工执行此操作:ansible myhost --sudo -m raw -a "yum install -y python2 python-simplejson"
不过,我认为最好在游戏开始时用这个片段引导所有主机:
- name: Bootrstrap python hosts: localhost tasks: raw: sudo apt-get update && sudo apt-get -y python-simplejson delegate_to: '{{ item }}' with_items: {{ groups["hosts"] }}
发布于 2016-09-19 14:41:25
我也遇到了类似的问题,但是“修复”还比较奇怪:从主机中删除Python3,因为Ansible目前支持最多Python2.7。
发布于 2017-05-08 11:22:58
Python3不和Ansible一起工作(.
apt-get install -y python2.7 python-simplejson
。没有必要删除任何其他版本。id_rsa
的权限只能是'read‘- chmod 400 ~/.ssh/id_rsa
--要么您可以获得另一个错误“未受保护的私钥文件!”https://stackoverflow.com/questions/38799807
复制相似问题