首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >group_vars文件中不可接受的多重密码库

group_vars文件中不可接受的多重密码库
EN

Stack Overflow用户
提问于 2017-05-11 15:51:50
回答 1查看 1.5K关注 0票数 1

我有一个问题,Ansible试图解码不正确的金库时,传递一个命令。

设置如下:

我的ansible.cfg

代码语言:javascript
复制
[defaults]
transport=smart
hostfile=./hosts
host_key_checking=False
timeout=5

[ssh_connection]
ssh_args = ""

我的主机文件:

代码语言:javascript
复制
[BigIP-Devices]
BigIP-1
BigIP-2

[Cisco-Devices]
Cisco-1
Cisco-2
TEST1

我的group_vars:

代码语言:javascript
复制
BigIP-Devices   <  This is a vault encrypted with bigip-vaultkey
Cisco-Devices   <  This is a vault encrypted with cisco-vaultkey
bigip-vaultkey
cisco-vaultkey

这两个金库都如下所示,每个金库都有不同的细节:

代码语言:javascript
复制
---
 ansible_ssh_user: user
 ansible_ssh_pass: password

我试图使用以下命令:

代码语言:javascript
复制
ansible -c ssh Cisco-Devices  --vault-password-file ./group_vars/cisco-vaultkey --limit TEST1  -m raw -a "show version"

尽管它在命令中调用Cisco设备,但我得到以下错误:

代码语言:javascript
复制
ERROR! Decryption failed on /home/users/ansible/device-access/group_vars/BigIP-Devices

但是,如果我将BigIP文件移出group_vars,它将正确工作。

有人有什么想法吗?

非常感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-11 17:44:59

这似乎是一种预期的行为。

所有主机模式和限制都是在分析完全部库存后应用的。

在您的示例中,Ansible发现BigIP-DevicesCisco-Devices组,并尝试加载相应的组变量。

如果您从未同时在BigIP-DevicesCisco-Devices上执行您的操作手册,您可能希望将它们分成不同的目录,例如:

代码语言:javascript
复制
./inventories/
./inventories/bigip/hosts
./inventories/bigip/group_vars/all/BigIP-Devices
./inventories/
./inventories/cisco/hosts
./inventories/cisco/group_vars/all/Cisco-Devices

并添加-i inventories/bigip所需的库存。

或者对所有文件使用相同的保险库密码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43920296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档