我们已经在ubuntu 14.04中安装了ansible版本2.1.0。
使用os_network模块时,出现此错误。
root@ubuntu:/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
在另一台机器上,相同的代码正在正常工作,没有任何错误。但不确定环境有什么问题。
Ansible使用模块shade
内部的pip包os_network
。该软件包内部的接口(尤其是create_network
方法周围的接口)在最新版本中已更改,并且新版本的ansible现在依赖于新功能。
您应确保在您的ansible主机上使用最新版本,当前版本为1.9.0。
pip install shade==1.9.0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句