1

我正在尝试使用 ansible 将代码部署到我的 RHEL 6.5 服务器。它安装了 python 2.6.6。每当我尝试运行剧本时,它都会挂在这里:

$ ansible-playbook --ask-vault-pass deploy.yml -vvvv
Using /etc/ansible/ansible.cfg as config file
Vault password: 
Loaded callback default of type stdout, v2.0
1 plays in deploy.yml

PLAY ***************************************************************************

TASK [setup] *******************************************************************
<my.host.com> ESTABLISH CONNECTION FOR USER: root on PORT 22 TO my.host.com
<my.host.com> EXEC mkdir -p "$( echo $HOME/.ansible/tmp/ansible-tmp-1455138572.23-19937147316183 )" && echo "$( echo $HOME/.ansible/tmp/ansible-tmp-1455138572.23-19937147316183 )"
<my.host.com> PUT /tmp/tmpahc0Pq TO /root/.ansible/tmp/ansible-tmp-1455138572.23-19937147316183/setup
<my.host.com> EXEC LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /root/.ansible/tmp/ansible-tmp-1455138572.23-19937147316183/setup; rm -rf "/root/.ansible/tmp/ansible-tmp-1455138572.23-19937147316183/" > /dev/null 2>&1
^CTraceback (most recent call last):

PLAY RECAP *********************************************************************

我 ssh 进入我的服务器并尝试运行它挂起的代码并获得以下 python(?) 弃用,然后它挂起:

$ LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /root/.ansible/tmp/ansible-tmp-1455138572.23-19937147316183/setup; rm -rf "/root/.ansible/tmp/ansible-tmp-1455138572.23-19937147316183/" > /dev/null 2>&1
/root/.ansible/tmp/ansible-tmp-1455138572.23-19937147316183/setup:3951: DeprecationWarning: object.__new__() takes no parameters
  return super(cls, subclass).__new__(subclass, *arguments, **keyword)

这是python和ansible的版本

$ python --version
Python 2.6.6
$ ansible --version
ansible 2.0.0.2
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides

我在尝试部署到的服务器上安装了相同版本的 python,但我没有安装 ansible。

我没有安装什么东西还是我需要升级 python 或其他东西?

4

1 回答 1

0

好的。我发现了一个允许我使用 CentOS 6 系统的两步过程。

  1. 我必须安装libselinux-python软件包。

  2. 告诉 Ansibleparamiko用作连接方法。我通过将所有 CentOS 6 主机放在一个组中并添加一个 group_vars 文件来做到这一点:

# file: inventory/group_vars/centos6
---
ansible_connection: paramiko
ansible_ssh_common_args:

现在我可以走了。我希望这能够帮到你。

于 2016-05-26T17:58:59.583 回答