我的理解是,组和主机var可以放在根目录ansible下。
根据以下内容,在group_vars所在的位置,剧本返回一个错误,指出无法找到vars。如果我将其移至清单文件夹,则一切正常。
tree .
.
├── ansible.cfg
├── group_vars
│ └── all.yaml
├── inventory
│ ├── host_vars
│ │ ├── access1.yaml
│ │ ├── access2.yaml
│ │ └── aggr1.yaml
│ └── test
├── playbooks
│ ├── site.retry
│ └── site.yaml
└── README.md
所有其他指南在根目录中显示host_vars / group_vars吗? 我需要更新或检查设置以允许此设置吗?
编辑: ansible.cfg如下所示:
[defaults]
gathering = explicit
Inventory = ./inventory/test
retry_files_enabled = False
Host_key_checking = false
Timeout = 5
[persistent_connection]
connect_timeout = 30
command_timeout = 30
答案 0 :(得分:0)
group_vars /和host_vars /目录可以存在于剧本目录或清单目录中。如果两个路径都存在,则playbook目录中的变量将覆盖清单目录中设置的变量。
因此,您可以将ansible.cfg配置为使用./
中的清单文件,然后group_vars和host_vars也可以存在于此目录中。您的清单文件位于./inventory/
目录下,而不是./
目录下。