2016-08-03 165 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中才安裝最新的模塊。