Ansible剧本,用于查找非默认的“ group_vars”文件夹以获取保险库密码

时间:2019-08-22 23:18:02

标签: ansible yaml

我正在尝试编写一本能配置尚未库存的设备的ansible剧本。

我已成功使用命令等配置设备 但是,我希望在此设备上配置snmp上存储的group_vars/cisco-ios密码

group_vars
all
cisco-ios  - THIS ONE
etc
etc
etc

由于此设备尚不在库存中,因此ansible不知道这是“ cisco-ios”(要从cisco-ios文件夹中提取保管库密码),因此仅在寻找group_vars / all(其中我的密码未存储,我们无法在此处存储,因为它会破坏所有其他设备)

正在寻找有关如何强制Ansible查找group_vars / cisco-ios的保险库密码而不是group_vars / all的建议?

尝试将device_os硬编码为“ cisco-ios”,尝试将--vault-password-file指向cisco-ios等

到目前为止,我的jinja2模板具有:snmp-server社区{{password}} 返回说“密码”未定义 (但是,如果我在group_vars / all中使用密码,则效果很好)

1 个答案:

答案 0 :(得分:0)

为什么不使用includes_vars来强制加载所需的变量集?

- name: Include vars for 'cisco-ios'
  include_vars:
    file: group_vars/cisco-ios

- name: Check that I have the password for Cisco devices
  debug:
    var: password