2017-05-30 77 views
1

我的Centos 7.3 ansible版本2.3。Ansible错误 - 没有模块名为packaging.version

Ansible 2.3.0.0 
config file = ../ansible.cfg 
configured module search path = Default w/o overrides 
python version = 2.7.5 (default, Nov 6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] 

我需要运行在Azure中虚拟机的ansible剧本。

我收到以下错误,当我运行

fatal: [52.170.201.24]: FAILED! => {"changed": false, "failed": true, "module_stderr": "Shared connection to 52.170.201.24 closed.\r\n", 
"module_stdout": "\r\nTraceback (most recent call last):\r\n File \"/tmp/ansible_k2CnFR/ansible_module_azure_rm_virtualmachine.py\", line 445, in <module>\r\n  
from ansible.module_utils.azure_rm_common import *\r\n 
File \"/tmp/ansible_k2CnFR/ansible_modlib.zip/ansible/module_utils/azure_rm_common.py\", line 29, in <module>\r\nImportError: No module named packaging.version\r\n", "msg": "MODULE FAILURE", "rc": 0} 

试图在几个网站

sudo pip install setuptools 
Requirement already satisfied: setuptools in /root/.local/lib/python2.7/site-packages 
Requirement already satisfied: six>=1.6.0 in /root/.local/lib/python2.7/site-packages (from setuptools) 
Requirement already satisfied: appdirs>=1.4.0 in /root/.local/lib/python2.7/site-packages (from setuptools) 
Requirement already satisfied: packaging>=16.8 in /root/.local/lib/python2.7/site-packages (from setuptools) 
Requirement already satisfied: pyparsing in /root/.local/lib/python2.7/site-packages (from packaging>=16.8->setuptools 

尝试升级点子在几个网站上提到指示,并且它得到

最新版本安装setuptools的
pip -V 
pip 9.0.1 from /usr/lib/python2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7) 

which pip 
/usr/bin/pip 
$ which pip3 
/usr/local/bin/pip3 
$ which python 
/usr/bin/python 

UPDATE:

52.170.201.24是在Azure虚拟机,这是库存的主机部分的IP地址。

实际上,我试图功率的Azure的虚拟机上使用此ansible代码在我ansible机床

- name: Power On Docker repo if Azure 
    azure_rm_virtualmachine: 
    resource_group: HpsaPoc 
    name: DockerRepo 
    started: yes 
    when: "{{cloud_provider}}" == 'azure' 

我不能环绕这条巨蟒/ PIP配置我的头,我曾试图安装python 3.5和pip3,但没有帮助,所以删除它,因为我不知道如何卸载它。请帮忙。

+0

什么是封装模块'52.170.201.24'和你在哪里运行'pip'? – techraf

+0

更新了细节。所以,这段代码似乎试图在Azure中的目标虚拟机上运行,​​并且因为没有安装python/pip而抱怨了。那么,如何通过在可控制的控制器上运行剧本来启动虚拟机或对Azure虚拟机执行任何操作? – Vikram

+0

您正试图在已停止的计算机上运行Ansible操作? – techraf

回答

1

好像你试图从远程主机执行azure_rm_virtualmachine,而不是从你的Ansible控制主机。

尝试:

- name: Power On Docker repo if Azure 
    azure_rm_virtualmachine: 
    resource_group: HpsaPoc 
    name: DockerRepo 
    started: yes 
    when: cloud_provider == 'azure' 
    delegate_to: localhost 
+0

谢谢,这解决了错误。经过几次错误和调试,我现在坚持这个错误没有多大意义,致命的:[x.x.x.x - > localhost]:失败!=> {“changed”:false,“failed”:true,“msg”:“检索资源组HpsaPoc时出错 - __init __()只需要1个参数(2给出)”} – Vikram

+0

您可能有不兼容的'ansible'版本和'天蓝色'包。 –

+0

它正在考虑什么时候:“{{cloud_provider}}”=='azure'是一个参数,当它被删除时工作。 – Vikram

0

由于发生上述错误你的环境没有封装模块

通过安装封装模块解决这个问题。

PIP安装包装

上面的命令将安装的16.8版本

相关问题