RHEL 6.5上的ansible挂起了python弃用警告

时间:2016-02-10 21:24:07

标签: ansible ansible-playbook ansible-2.x

我正在尝试使用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或其他东西?

1 个答案:

答案 0 :(得分:0)

确定。我找到了两个步骤,让我可以使用CentOS 6系统。

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

  2. 告诉Ansible使用paramiko作为连接方法。我通过将所有CentOS 6主机放在一个组中并添加group_vars文件来完成此操作:

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

    现在我很高兴。我希望这会帮助你。