ansible - 使用 Netbox Ansible 模块
问题描述
我一直想尝试可用于 Netbox [1] 的 Ansible 模块。
然而,我发现自己一开始就被困住了。
这是我尝试过的:
将前缀/VLAN 添加到网箱 [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
有人可以指出我哪里出错了吗?
注意:NetBox URL 是带有 nginx 和 netbox-docker [3] 的 https://url 设置。
谢谢和问候, 萨娜
[1] https://github.com/netbox-community/ansible_modules
[2] https://docs.ansible.com/ansible/latest/modules/netbox_prefix_module.html
解决方案
所有使用 API 模块netbox
(但对于gcp
or相同aws
)的 playbook 必须用作主机而不是目标,而是将执行 playbook 以调用 API 的主机。大多数时候这是localhost
,但也可以是一个专用节点,如堡垒。
您可以在您链接的文档的示例中看到它使用的示例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: present
推荐阅读
- python-3.x - DEPRECATION WARNING:
- javafx - Unexpected behavior of javafx Text after Scale transform
- r - How to reset reactiveValues?
- flutter - Flutter 制作糟糕的 Hero 动画
- php - Symfony - 值未插入数据库
- visual-studio-code - VSCode PHP Debug悬停在属性上
- jpa - 带有 IN 子句的 JPA CriteriaBuilder
- java - 如何使用 Keycloak 在 Spring Boot 中获取当前登录用户?
- python - MultiValueDictKeyError 单击提交按钮但未选择任何文件时,使用 Django
- mongodb - kubernetes环境下创建mongodb用户报错