2016-06-27 47 views
2

我們在ubuntu 14.04中安裝了正確的版本2.1.0。os_network的參數列表上的錯誤拋出錯誤

使用os_network模塊時,我們得到這個錯誤。

[email protected]:/home/admin-nfv/Nuage_Automation/nuage_vm_creation/playbooks# ansible-playbook create_or_delete_network.yml 
[WARNING]: provided hosts list is empty, only localhost is available 


PLAY [Create Network] ********************************************************** 

TASK [setup] ******************************************************************* 
ok: [localhost] 

TASK [create_network : create or delete network] ******************************* 
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: TypeError: create_network() takes at most 4 arguments (7 given) 
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "module_stderr": "Traceback (most recent call last):\n File \"/tmp/ansible_crfy0P/ansible_module_os_network.py\", line 247, in <module>\n main()\n File \"/tmp/ansible_crfy0P/ansible_module_os_network.py\", line 226, in main\n external, provider, project_id)\nTypeError: create_network() takes at most 4 arguments (7 given)\n", "module_stdout": "", "msg": "MODULE FAILURE", "parsed": false} 

NO MORE HOSTS LEFT ************************************************************* 
     to retry, use: --limit @create_or_delete_network.retry 

PLAY RECAP ********************************************************************* 
localhost     : ok=1 changed=0 unreachable=0 failed=1 

-vvv輸出中的錯誤是

An exception occurred during task execution. The full traceback is: 
Traceback (most recent call last): 
    File "/tmp/ansible_9jY3t3/ansible_module_os_network.py", line 247, in <module> 
    main() 
    File "/tmp/ansible_9jY3t3/ansible_module_os_network.py", line 226, in main 
    external, provider, project_id) 
TypeError: create_network() takes at most 4 arguments (7 given) 

fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_name": "os_network"}, "module_stderr": "Traceback (most recent call last):\n File \"/tmp/ansible_9jY3t3/ansible_module_os_network.py\", line 247, in <module>\n main()\n File \"/tmp/ansible_9jY3t3/ansible_module_os_network.py\", line 226, in main\n external, provider, project_id)\nTypeError: create_network() takes at most 4 arguments (7 given)\n", "module_stdout": "", "msg": "MODULE FAILURE", "parsed": false} 

而且我們用於創建網絡的劇本是

- name: create or delete network 
    os_network: 
    auth: 
     auth_url: "http://1.2.3.4:35357/v2.0" 
     username: "admin" 
     password: "xxxxxxx" 
     project_name: "admin" 
    state: "present" 
    name: "Test" 
    external: true 

在另一臺機器上相同代碼工作沒有任何錯誤。但不知道環境有什麼問題。

回答

1

Ansible在os_network模塊中使用shade pip軟件包。該軟件包內的界面,特別是create_network方法在最近的版本中已經發生了變化,而更新版本的軟件現在依賴於新功能。

你應該確保您使用最新版本的ansible主機,這在目前是1.9.0

pip install shade==1.9.0