背景:实验环境,我使用kvm搭建了几台虚拟机来实验ansible内容,虚拟机为centos6.7系统,python为手动升级到2.7的版本,几台虚拟机的初始环境都是一样的,因为都是使用centos_base来克隆过来的。
[Bash shell] 纯文本查看 复制代码 [iyunv@puppetnode01 kvm_centos]# virsh list --all
Id Name State
----------------------------------------------------
15 ansible_01 running
16 ansible_02 running
17 ansible_03 running
18 ansible_04 running
19 redis_01 running
- centos6.7_base shut off
在使用到yum模块时遇到了以下问题:
提示我没有yum模块:
[Bash shell] 纯文本查看 复制代码 [iyunv@ansible_01 ansible]# ansible 192.168.122.12 -m yum -a "name=httpd state=latest"
192.168.122.12 | FAILED >> {
"failed": true,
"msg": "Traceback (most recent call last):\r\n File \"/root/.ansible/tmp/ansible-tmp-1446521698.1-258697664111907/yum\", line 27, in <module>\r\n import yum\r\nImportError: No module named yum\r\nOpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: Applying options for *\r\ndebug1: auto-mux: Trying existing master\r\ndebug1: mux_client_request_session: master session id: 3\r\ndebug1: mux_client_request_session: master session id: 3\r\nShared connection to 192.168.122.12 closed.\r\n",
"parsed": false
}
初步怀疑是所有远程机升级python的问题,所以在ansible的hosts配置文件中填了ansible_python_interpreter参数:
[Bash shell] 纯文本查看 复制代码 192.168.122.12 ansible_python_interpreter=/usr/bin/python2.6
但是执行结果还是错误:
[Bash shell] 纯文本查看 复制代码 [iyunv@ansible_01 ansible]# ansible 192.168.122.12 -m yum -a "name=httpd state=latest"
192.168.122.12 | FAILED >> {
"failed": true,
"msg": "Error from repoquery: ['/usr/bin/repoquery', '--show-duplicates', '--plugins', '--quiet', '-q', '--disablerepo=*', '--pkgnarrow=installed', '--qf', '%{name}-%{version}-%{release}.%{arch}', '--whatprovides', 'httpd']: Traceback (most recent call last):\n File \"/usr/bin/repoquery\", line 34, in <module>\n import yum\nImportError: No module named yum\nTraceback (most recent call last):\n File \"/usr/bin/repoquery\", line 34, in <module>\n import yum\nImportError: No module named yum\n"
}
这是因为什么问题的?
|