Ansible hosts文件解析不能正常工作



我有一个奇怪的问题。我有一个包含多个组的"hosts"文件。出于某种原因,当我使用"可行的剧本剧本"时。

将playbook应用到'hosts'文件中的所有主机。主机文件

all:
children:
GROUP1:
children:
webservers:
hosts:
hostname1:
sqlservers:
hosts:
hostname2:
GROUP2:
children:
webservers:
hosts:
hostname3:
hostname4:
GROUP3:
children:
webservers:
hosts:
hostname5:
hostname6:
sqlservers:
hosts:
hostname7:

ansible日志:

Positional arguments: playbook.yml
verbosity: 4
connection: smart
timeout: 10
become_method: sudo
tags: ('all',)
inventory: ('hostsfile',)
subset: GROUP1
forks: 5
1 plays in playbook.yml

在剧本里。我确实有'hosts: all',但在不同的工作中我没有这个问题。

Ansible注意到我指示的子集,但没有过滤它,而是成功地对所有主机运行剧本。

我昨天上网搜了一天也没找到问题。

任何帮助都将非常感激。

我想我自己找到了解决这个问题的方法。默认情况下,Ansible使用一组库存插件解析hosts文件,直到解析成功。在'ansible.cfg'中指定插件:

[inventory]
enable_plugins = yaml

问题解决了,我不知道为什么。

https://docs.ansible.com/ansible/latest/plugins/inventory.html

最新更新