我一直想尝试在Netbox 1上可用的Ansible模块。
然而,我发现自己一开始就卡住了。
这是我尝试过的:
将前缀/VLAN添加到netbox 2
cat setup-vlans.yml
---
- hosts: netbox
tasks:
- name: Create prefix 192.168.10.0/24 in Netbox
netbox_prefix:
netbox_token: "{{ netbox_token }}"
netbox_url: "{{ netbox_url }}"
data:
prefix: 192.168.10.0/24
state: present这给了我以下错误:
ansible-playbook setup-vlans.yml
PLAY [netbox] *********************************************************************************************************************************
TASK [Gathering Facts] ************************************************************************************************************************
ok: [NETBOX]
TASK [Create prefix 192.168.10.0/24 in Netbox] ************************************************************************************************
fatal: [NETBOX]: FAILED! => {"changed": false, "msg": "Failed to establish connection to Netbox API"}
PLAY RECAP ************************************************************************************************************************************
NETBOX : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0 有没有人能告诉我我哪里错了?
注意: nginx和NetBox -docker3的netbox网址是一个https://url设置。
谢谢和问候,Sana
发布于 2020-07-14 20:39:28
我也有同样的感觉。显然,pynetbox api在实例化过程中发生了变化(ssl_verify现在被请求会话参数所取代)。
我不得不用以下命令强制ansible galaxy更新到最新的netbox模块:
ansible-galaxy collection install netbox.netbox -f
force选项为我做了这件事。
发布于 2020-07-07 14:20:36
所有使用netbox等应用编程接口模块的剧本(但这对于gcp或aws是相同的)必须使用主机,而不是目标,而是将执行剧本以调用API的主机。大多数情况下,这是localhost,但也可以是像堡垒一样的专用节点。
您可以在文档you linked上的示例中看到它使用了hosts: localhost。
因此我认为你的策略应该是
---
- hosts: localhost
connection: local
gather_facts: False
tasks:
- name: Create prefix 192.168.10.0/24 in Netbox
netbox_prefix:
netbox_token: "{{ netbox_token }}"
netbox_url: "{{ netbox_url }}"
data:
prefix: 192.168.10.0/24
state: presenthttps://stackoverflow.com/questions/62768218
复制相似问题