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
可以让它找到缺少的变量。