我正在使用ansible playbook来创建新的AWS EC2实例。我正在从host1运行我的playook,然后想在新创建的EC2实例(host2)上运行一些任务。如果我的EC2 ubuntu是14.04,我可以运行所有的ansible任务但是如果我改为ubuntu 16.04则ping失败。从host1 ansible host2 -m ping
"module_stdout": "/bin/sh: 1: /usr/bin/python2.7: not found\r\n",
我看到有几个地方提到ubuntu 16.04附带python 3而ansible不支持3但因此我们需要安装ansible 2.7。我的困惑是,如果ansible在第一个地方无法连接,我怎么能在我的EC2实例上安装python。
任何想法我怎么能围绕这个?
谢谢, 迪帕克
答案 0 :(得分:1)
您可以使用" raw"模块用Python 2.x引导系统。
e.g:
ansible host2 --sudo -m raw -a "apt-get install -y python2.7 python-simplejson"
文档:http://docs.ansible.com/ansible/intro_installation.html
http://serverascode.com/2016/08/16/ansible-python2-xenial.html
如果您的存储库没有2.7,您可以从deadsnakes repo安装它,只需添加此ppa;
ppa:fkrull/deadsnakes-python2.7