Файлы Ansible group_vars для соответствия нескольким группам - PullRequest
0 голосов
/ 23 сентября 2019

Это может быть странный вопрос, и я уверен, что я видел, что это сделано, но пренебрег его закладкой.

У меня есть хосты, которые существуют в нескольких группах:

[group1]
host1

[group2]
host2

[group3]
host1
host3

Я хочу установить файлы групповых переменных для этих хостов (это простая очевидная часть):

group_vars/group1.yml
group_vars/group2.yml
group_vars/group3.yml

, а также групповые переменные для хостов, которые существуют по следующей схеме:

group1:&group3

Можно ли это сделать с помощью файла group_vars?Пример:

group_vars/group1:&group3.yml

Я уверен, что видел имена файлов с таким стилем шаблона, но я не могу понять, как заставить его работать.

1 Ответ

0 голосов
/ 23 сентября 2019

Извлечение документации

Примечание:

Загрузка группы следует за отношениями родитель / потомок.Группы одного и того же уровня «родитель / потомок» затем объединяются в алфавитном порядке.Этот последний может быть заменен пользователем через ansible_group_priority, который по умолчанию равен 1 для всех групп.Эта переменная ansible_group_priority может быть установлена ​​только в источнике инвентаря, а не в group_vars /, так как переменная используется при загрузке group_vars /.

Так что, основываясь на этом, все, что вы можете сделать в значительной степениis:

  • , где group3 является родительской группой для group1 и group2.Вары, определенные для group3, будут автоматически использоваться для group1 и group2:
[group1]
host1

[group2]
host2

[group3:children]
group1
group2
  • везде определяют бары и полагаются на порядок их загрузки или исправляют этот порядок в источнике вашего инвентаряс ansible_group_priority.

Теперь , если вы думаете о том, чтобы иметь различные значения переменных, основанные на группе, на которую вы нацелены в игре, забудьте об этом : ansible загружает все переменные из всехгрупп в вашем инвентаре / книге игр, независимо от того, что вы нацелены.

Я предлагаю вам подробно прочитать объяснения относительно того, где разместить переменную

...