2016-08-03 164 views
7

我最近从我们的开发环境中的1.9.1升级到2.1。我使用virtualenv来使用pip安装2.1。最近在运行的剧本,我得到这个错误:Ansible升级2.1:gather_subset错误

fatal: [xxxxx-dev.com]: FAILED! => {"changed": false, "failed": true, "msg": "unsupported parameter for module: gather_subset"} 

我看到,在Ansible 2.1,他们增加了一个新功能,以收集有关主机的有限的事实,但默认情况下它设置gather_subset所有。因此,我没有在我的配置文件中设置这个值,并期望它默认为全部。

此故障只发生一次,后续运行成功。我也读here,如果通过apt单独安装ansible,它可能会导致问题,但由于我使用venv,我假设它将被迫使用2.1版。任何帮助表示赞赏。

+0

你能重现错误吗?或者它只发生过一次? –

回答

3

经过两天的苦苦挣扎,我终于明白了为什么它失败了。

原因是我在ansible.cfg中有一个默认的配置设置,它正在从/ usr/share/ansible中取出系统可靠的库,而不是安装这些库的virtualenv。系统可靠的库在我们运行剧本的主机上过时,从而导致失败。我删除了设置,以确保只有在venv中才安装最新的模块。