Я пытаюсь передать переменные из одной роли в другую.
Так, например, я использую мета-зависимость в моей роли ntp, которая извлекает значение timesyn c. Очевидно, я не хочу использовать переменные роли ntp в моей роли timesyn c.
dependencies:
- role: timesync
vars:
timesyncd_servers: '{{ ntp_servers }}'
when:
- ntp_servers is defined
- ntp_daemon == 'systemd'
Если я сейчас использую тест jinja на timesyncd_server
в моем файле шаблона, то он определен (даже если ntp_servers
не определено):
{% if timesyncd_servers is defined %}{{ timesyncd_servers }}{% endif %}
Проблема теперь в том, что это, если оператор не перехватывает неопределенное ntp_servers
и ansible завершается неудачно с 'ntp_servers' is undefined
.
Я попытался передать его с | default(omit)
- это остановило ansible от сбоя, но оператор if по-прежнему верен.
Любая идея, как скопировать ntp_servers
в timesyncd_servers
, чтобы он остался не определено