无法使用ansible

时间:2016-10-13 07:12:44

标签: amazon-ec2 ansible ansible-playbook ubuntu-16.04

我正在使用ansible playbook来创建新的AWS EC2实例。我正在从host1运行我的playook,然后想在新创建的EC2实例(host2)上运行一些任务。如果我的EC2 ubuntu是14.04,我可以运行所有的ansible任务但是如果我改为ubuntu 16.04则ping失败。从host1 ansible host2 -m ping

尝试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。

任何想法我怎么能围绕这个?

谢谢, 迪帕克

1 个答案:

答案 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