Выбор ответа Middle Ansible обновлено

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

Вопрос

Переменная app_port задана в defaults/main.yml роли (8080), в group_vars/web.yml (8081) и передана через -e app_port=9000. Какое значение получит задача?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 9000. Extra vars (-e) имеют наивысший приоритет и перебивают всё. defaults роли самые слабые, поэтому туда кладут значения по умолчанию. groupvars перебивают defaults, но не extra vars.

Варианты ответа

  1. 8081
  2. 8080
  3. 9000правильный ответ
  4. Ошибка: переменная задана несколько раз

Разбор

Extra vars (-e) имеют наивысший приоритет и перебивают всё. defaults роли самые слабые, поэтому туда кладут значения по умолчанию. group_vars перебивают defaults, но не extra vars. Многократное определение переменной это нормальная практика, ошибки нет.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.