如何解决如何在 rundeck 中使用动态 ansible 库存
我正在努力在 rundeck 工作中运行 ansible playbook。专用于网络设备。
我在 Docker 容器内运行 rundeck,在那里我安装了 ansible 和所有各种依赖项,作为映像构建的一部分。这可能是不相关的信息。
我们使用了一个名为 AKIPS 的相对小众的网络管理服务,我们在其中拥有最新的网络库存,因此我编写了一个动态的 ansible 库存插件来轮询 AKIPS。这很有效,rundeck 能够将设备作为节点导入。我确实希望它导入我在插件中编码的宿主变量。
这是我的示例剧本:
---
- name: Config ASA SNMP
hosts: asa
gather_facts: no
tasks:
- name: Set SNMP Configuration
check_mode: yes
asa_config:
lines:
- snmp-server enable
- snmp-server group "{{ snmp_group }}" v3 priv
- snmp-server user "{{ snmp_username }}" v3 auth sha "{{ snmp_auth_pass }}" priv aes 256 "{{ snmp_priv_pass }}"
- snmp-server host inside "{{ snmp_host_ip }}" version 3 "{{ snmp_username }}"
- snmp-server location "{{ ansible_region }}"-"{{ ansible_site_code }}"
在工作流任务定义中(对于内联 ansible-playbook):
我已将 ansible 基本目录路径设置为保存插件配置文件的同一文件夹
/home/rundeck/rundeck-ansible/
尽管如此,我偏执的自己还是在额外的 ansible 参数字段中写了插件配置文件的整个路径:(我试过使用和不使用它)
-i /home/rundeck/rundeck-ansible/akips_inventory.yaml --check
有了这个,因为我将它设置为轮询库存源,所以我将节点执行器设置为在本地执行。
当我尝试运行作业时,我得到以下信息(为了安全起见,提取了一些信息)。
/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py:1020: InsecureRequestWarning: Unverified HTTPS request is being made to host 'AKIPS_SERVER_HOSTNAME'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning,[WARNING]: Could not match supplied host pattern,ignoring: RUNDECK_SERVER_HOSTNAME
ERROR! Specified hosts and/or --limit does not match any hosts
Failed: AnsibleNonZero: ERROR: Ansible execution returned with non zero code.
我很清楚地收到了来自 AKIPS 的库存,因为我收到了 urllib 警告。 (改天再出问题)
我在 hosts 字段中引用的组肯定存在,甚至在项目的节点部分中显示为标记。
如果我将 playbook 作为本地执行命令与 playbook 文件一起运行,并且完全放弃 rundeck ansible 插件,我还想添加 playbook 工作。
我做错了什么?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。