Переменные#

В этом документе описывается порядок разрешения значений переменных Ansible в Astra Automation Controller.

Правило присвоения значения#

При присвоении значений переменным используется следующий порядок (значения, указанные на более поздних этапах, заменяют значения, указанные ранее):

  1. Значения по умолчанию, заданные в роли (role defaults).

  2. Переменные динамического инвентаря (dynamic inventory variables).

  3. Переменные инвентаря (inventory variables).

  4. Переменные группы узлов (group variables).

  5. Переменные управляемого узла (node variables).

  6. group_vars в playbook.

  7. host_vars в playbook.

  8. Факты Ansible (facts).

  9. Зарегистрированные переменные (registered variables).

  10. Значения, заданные с помощью set_facts.

  11. Переменные сценария (play variables)

  12. Переменные из файлов переменных сценария (play vars_files).

  13. Переменные роли (role variables) и подключенных (include) файлов.

  14. Переменные блока (block variables).

  15. Переменные задачи (task variables).

  16. Дополнительные переменные из свойств шаблона задания (Job Template extra variables).

  17. Переменные, полученные путем интерактивного опроса пользователя при запуске задания на основе шаблона (Job Template Survey). Если опрос пользователя выключен, используются значения по умолчанию.

  18. Дополнительные переменные, заданные при запуске задания (Job Launch extra variables).

  19. Артефакты задания.

  20. Дополнительные переменные из свойств шаблона потока заданий (Workflow Job Template extra variables).

  21. Переменные, полученные путем интерактивного опроса пользователя при запуске потока заданий на основе шаблона (Workflow Job Template Survey). Если опрос пользователя выключен, используются значения по умолчанию.

  22. Дополнительные переменные, заданные при запуске потока заданий (Workflow Job Launch extra variables).

Пример#

Пусть значение переменной astra_linux_version задано в нескольких местах:

  • инвентарь – 1.7.1;

  • playbook – 1.7.5;

  • шаблон задания – 1.7.3;

  • шаблон потока заданий – 1.7.4.

Шаблон потока заданий связывает вместе указанные инвентарь, playbook и шаблон задания. Согласно описанному выше порядку, для переменной astra_linux_version принимается значение 1.7.4, заданное последним, на уровне шаблона потока заданий. Это же значение передается на уровни всех остальных компонентов, связанных с шаблоном потока заданий. Таким образом, при запуске задания и выполнении сценария для переменной astra_linux_version также будет использоваться значение 1.7.4.