gpt4 book ai didi

python - os_network 的参数列表上的 ansible 抛出错误

转载 作者:太空宇宙 更新时间:2023-11-04 05:28:05 25 4
gpt4 key购买 nike

我们已经在 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 在 os_network 模块中使用 shade pip 包。该包内的接口(interface),尤其是围绕 create_network 方法的接口(interface)在最近的版本中发生了变化,新版本的 ansible 现在依赖于新功能。

您应该确保在您的 ansible 主机上使用最新版本,目前是 1.9.0

pip install shade==1.9.0

关于python - os_network 的参数列表上的 ansible 抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38049087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com