Ответ 1
Вы немного путаете структуру.
- Каталог
group_vars
содержит файлы для каждой группы хостов, определенной в вашем файле инвентаря. Файлы определяют переменные, которые могут использовать члены-члены. - Файл инвентаризации не находится в директории
group_vars
, он должен быть снаружи. - Только хосты, которые являются членами группы, могут использовать свои переменные, поэтому, если вы не поместите 127.0.0.1 в группу, он не сможет использовать какие-либо group_vars рядом с теми, которые определены в
group_vars/all
.
Что вы хотите, это структура этого каталога:
group_vars/
all
perlservers
phl-stage
hosts
site.yml
local.yml
Файл ваших хостов должен выглядеть так, предполагая, что 127.0.0.1 - это только промежуточный сервер, а не perl или веб-сервер:
[webservers]
phl-web1
phl-web2
[perlservers]
phl-perl1
phl-perl2
[phl-stage]
127.0.0.1
[phl-stage:children]
webservers
perlservers
Итак, вы определяете, какие хосты принадлежат к какой группе в инвентаре, а затем для каждой группы вы определяете переменные в файле group_vars.