Ansible 指定可复制目录
我有两个项目。其中一个包含常见角色和剧本,第二个剧本是特定于客户的角色,包括库存 我希望能够使用第二个项目的清单来运行常见的剧本Ansible 指定可复制目录,ansible,ansible-inventory,Ansible,Ansible Inventory,我有两个项目。其中一个包含常见角色和剧本,第二个剧本是特定于客户的角色,包括库存 我希望能够使用第二个项目的清单来运行常见的剧本 ansible-playbook -vvvv -s -K -i \ ~/inventory/hosts/staging.int.openbet.com site.yml ~/inventory > . ├── group_vars │ └── all ├── hosts │ └── staging.int.openbet.com └── hos
ansible-playbook -vvvv -s -K -i \
~/inventory/hosts/staging.int.openbet.com site.yml
~/inventory >
.
├── group_vars
│ └── all
├── hosts
│ └── staging.int.openbet.com
└── host_vars
└── staging.int.openbet.com
这可以正确地针对主机运行,但不会拾取主机变量。我希望主机变量和组变量与清单文件相关,但这似乎没有发生
提示:在Ansible 1.2或更高版本中,组变量/和主机变量/目录可以存在于playbook目录或inventory目录中。如果两条路径都存在,playbook目录中的变量将被第二次加载
非常感谢您的帮助,我正在运行1.7,您需要在第一个项目中的ansible.cfg中定义清单文件路径,从第二个项目中定义清单文件路径 例如:
inventory = ./_inventory/hosts.ini
我相信问题在于额外的主机目录。现在只需检查后代:是的,假设您在工作目录中作为hosts文件,Ansible正在那里查找./group\u vars和./host\u vars目录。因此,将主机文件移动到
~/inventory/staging.int.openbet.com
可以让它找到缺少的变量。