Приоритет переменных Ansible

Я пытаюсь понять приоритет переменных в Ansible - точнее, часть о host_vars и group_vars в инвентаре или playbook. Мой макет выглядит так:

production/
├── inventory (alfa, beta and gamma hosts)
├── group_vars/
│   └── all (foo=1)
└── host_vars/
    └── alfa (foo=2)
playbooks/
├── site.yml (debuging variable foo)
├── group_vars/
│   └── all (foo=10)
└── host_vars/
    └── beta (foo=20)

Итак, у меня есть три узлов (alfa, beta и gamma) и переменной foo. Когда я начинаю играть, я получаю следующий результат:

alfa's foo=2
beta's foo=20
gamma's foo=10

Согласно документации приоритет должен быть следующим:

  1. inventory group_vars
  2. inventory host_vars
  3. playbook group_vars
  4. playbook host_vars

Но мой результат выглядит следующим образом:

  1. inventory group_vars
  2. playbook group_vars
  3. inventory host_vars
  4. playbook host_vars

Я что-то неправильно понял ? Или это ошибка в документации? Я использую Ansible 2.0.1.

4
задан 7 April 2016 в 18:15
1 ответ

цитируя @Henrik Пингеля из комментариев - так как его комментарий является правильным ответом на этот вопрос:

Похоже, что это ошибка в документации. Для этого есть открытый выпуск. - Henrik Pingel Jul 26 '16 at 13:11

и это в значительной степени устарело, так как есть новая версия ansible 2.9, которая исправила это поведение.

1
ответ дан 11 November 2020 в 23:54

Теги

Похожие вопросы