Ansible group_vars文件中的多个密码保险库

Ansible group_vars文件中的多个密码保险库,ansible,Ansible,我遇到一个问题,Ansible在传入命令时试图解码错误的保险库 设置如下所示: 我的ansible.cfg [defaults] transport=smart hostfile=./hosts host_key_checking=False timeout=5 [ssh_connection] ssh_args = "" 我的主机文件: [BigIP-Devices] BigIP-1 BigIP-2 [Cisco-Devices] Cisco-1 Cisco-2 TEST1 我的小组成

我遇到一个问题,Ansible在传入命令时试图解码错误的保险库

设置如下所示:

我的ansible.cfg

[defaults]
transport=smart
hostfile=./hosts
host_key_checking=False
timeout=5

[ssh_connection]
ssh_args = ""
我的主机文件:

[BigIP-Devices]
BigIP-1
BigIP-2

[Cisco-Devices]
Cisco-1
Cisco-2
TEST1
我的小组成员:

BigIP-Devices   <  This is a vault encrypted with bigip-vaultkey
Cisco-Devices   <  This is a vault encrypted with cisco-vaultkey
bigip-vaultkey
cisco-vaultkey
我正在尝试使用以下命令:

ansible -c ssh Cisco-Devices  --vault-password-file ./group_vars/cisco-vaultkey --limit TEST1  -m raw -a "show version"
即使它在命令中调用Cisco设备,我也会得到以下错误:

ERROR! Decryption failed on /home/users/ansible/device-access/group_vars/BigIP-Devices
但是,如果我将BigIP文件移出组变量,它将正常工作

有人有什么想法吗


非常感谢您的帮助

这似乎是一种预期行为。
解析完整资源清册后,将应用所有主机模式和限制

在您的情况下,Ansible会发现
BigIP设备
Cisco设备
组,并尝试加载相应的组变量

如果您从未在
BigIP设备
Cisco设备
上同时执行playbook,您可能希望将它们分为不同的清单,如:

./inventories/
./inventories/bigip/hosts
./inventories/bigip/group_vars/all/BigIP-Devices
./inventories/
./inventories/cisco/hosts
./inventories/cisco/group_vars/all/Cisco-Devices
并使用
-i inventory/bigip
添加所需库存


或者对所有文件使用相同的vault密码。

这是有道理的,我认为可能是这样,但我真的希望不是这样!非常感谢你的帮助。
./inventories/
./inventories/bigip/hosts
./inventories/bigip/group_vars/all/BigIP-Devices
./inventories/
./inventories/cisco/hosts
./inventories/cisco/group_vars/all/Cisco-Devices