4

我有两个 Ansible 项目。一个包含常见的角色和剧本,第二个剧本,特定于客户的角色,包括库存。

我希望能够使用第二个项目中的清单运行常见的剧本

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

这对主机正确运行,但没有拾取 host_vars。我期望 host_vars 和 group_vars 与库存文件相关,但这似乎没有发生。

http://docs.ansible.com/intro_inventory.html#splitting-out-host-and-group-specific-data

提示:在 Ansible 1.2 或更高版本中,group_vars/ 和 host_vars/ 目录可以存在于 playbook 目录或 inventory 目录中。如果两个路径都存在,则将第二个加载 playbook 目录中的变量。

非常感谢任何帮助,我正在运行 1.7

4

1 回答 1

1

您需要在第一个项目的 ansible.cfg 中定义清单文件路径,您将在其中定义第二个项目的清单路径。

例子:

inventory = ./_inventory/hosts.ini
于 2018-11-21T23:10:53.653 回答