Вопрос: "Где должны определяться директивы, применимые ко всем задачам в роли?"
A: Короткий ответ: вне роли.
Где именно вы должны разместить ключевые слова, зависит от того, как вы используете роль. Есть больше вариантов
- роли:
- импорт_роль:
- include_role:
Это выходит за рамки, чтобы объяснить все подробности здесь. Как правило, размещайте такие ключевые слова на уровне (отступа) роли. В случае include_role вы также можете применять ключевые слова. Имейте в виду, что не все ключевые слова можно применять везде. Видеть Ключевые слова сборника игр которые относятся к ролям. Например, ключевое слово collect_facts
может применяться только к playbook. Одним из вариантов решения вашей проблемы может быть структура пьесы ниже
- хозяева: все
сбор_фактов: ложь
роли:
- роль: os_packages
стать истинным
стать_пользователем: корень
Вопрос: "Как это сделать (применить такие ключевые слова на уровне роли), когда нет файла конфигурации (только каталог роли), представляющий роль?"
A: Если есть только каталог роли, представляющий роль, вы можете применять ключевые слова к блокам и задачам только внутри роли. Вы не можете применять ключевые слова к роли внутри этой роли. Для роли не существует такого понятия, как файл конфигурации.
В предыдущем ответе под уровнем я подразумеваю уровень отступа, например в коде выше, collect_facts
относятся к игре, в то время как оба стать
и стать_пользователем
подать заявку на роль.