Нужна помощь в понимании последовательности рабочего процесса для выполнения переменной Ansible

Нужна помощь в понимании последовательности рабочего процесса для выполнения переменной Ansible в доступных задачах или плейбуках,

Какая переменная используется в конце, когда мы используем все это ..

1) vars

2) group_vars

3) host_vars

4) extra_vars

5) var_prompt в playbook

6) set_fact в задачах

7) playbooks vars_files

8) playbooks vars

8) роли включены в каталог vars - roles / foo / vars / main.yml

9) переменные, определенные ролью - {роль: foo, param1: 1000, param2: 2000, tags: ['foo', 'bar']}

10) задачи включены include_vars

11) Переменные на основе инвентаризации

????


person Ravi Bhure    schedule 15.05.2014    source источник
comment
Если я использую один и тот же ключ во всех варах с разными значениями. Например. имя: имя apache: имя nginx: имя lighttpd: имя tomcat: причал   -  person Ravi Bhure    schedule 15.05.2014


Ответы (1)


Приоритет переменной: куда мне поместить переменную? В разделе документации Ansible говорится следующее:

Многие могут спросить, как переменные перекрывают другие. В конечном счете, философия Ansible заключается в том, что вам лучше знать, куда поместить переменную, и тогда вам нужно гораздо меньше думать об этом.

Избегайте определения переменной «x» в 47 местах, а затем задавайте вопрос «какой x используется». Почему? Потому что это не дзен-философия Ansible.

Есть только одно Эмпайр-стейт-билдинг. Одна Мона Лиза и т. Д. Выясните, где определить переменную, и не усложняйте ее.


Если несколько переменных с одинаковым именем определены в разных местах, они выигрывают в определенном порядке, а именно:

  • -e переменные всегда выигрывают
  • затем идет "почти все остальное"
  • затем идут переменные, определенные в инвентаре
  • затем появляются факты о системе
  • затем «значения ролей по умолчанию», которые являются наиболее «дефолтными» и теряют в приоритете все.

В приведенной выше ссылке на документы есть гораздо более конкретные примеры.

person Mxx    schedule 16.05.2014
comment
спасибо, у меня уже есть URL-адрес, который вы предоставили, и все же мой вопрос: `` Затем приходит все остальное '' ???, я хочу знать, что очень четкое утверждение только для `` кто всегда побеждает '', а затем приходит почти все еще' - person Ravi Bhure; 19.05.2014
comment
@RaviBhure У меня нет информации о приоритете всех 11+ возможностей. Однако вы можете создать сценарий, который скажет вам именно это. - person Mxx; 19.05.2014
comment
Да, @Mxx, я сделаю это, поскольку у меня есть один ключ переменной, используемый на нескольких этапах с разными значениями, это может сэкономить время и избежать использования разных файлов переменных для моей среды центра обработки данных / региона / приложения с несколькими ОС. - person Ravi Bhure; 19.05.2014