2013-10-01 3 views
1

У меня есть следующая проблема. Я сохраняю два отдельных файла проекта Ansible для двух разных технологий. Представьте, что у вас есть хорошая установка Ansible и вы хотите вытащить проект Ansible и использовать часть вашей установленной структуры, не интегрируя ее полностью.Ansible: Могу ли я заставить включить: использовать другой путь

Первое заявление делает то, что я хочу. Это дает путь fq.

  • debug: msg="{{lynx_ansible}}/roles/centos_common/centos_{{jdk_provider}}.yml"

  • include: "{{lynx_ansible}}/roles/centos_common/centos_{{jdk_provider}}.yml"

включаемой добавляет путь к корневой директории анзибль-проекта и не расширяет переменные. Есть ли способ сделать это?

ответ

0

Попробуйте $lynx_ansible, а не {{ lynx_ansible }}. Include, похоже, не поддерживает синтаксис jinja2.

+0

Это работает для вас? Я не получаю никакого расширения с помощью $ lynx_ansible. Он просто накладывает это на, как /path/to/playbook/$lynx_ansible/roles/tasks/main.yml – darKoram

+0

С реорганизацией документа я не могу ее найти, но был раздел, в котором указано, что include не разрешает переменную субтитры, хотя теперь эти зависимости зависят, возможно, они будут для согласованности. – darKoram

+0

Хм, это странно, я пробовал с синтаксисом {{}} раньше, и это не сработало для меня, но оба {{}} и $ работают нормально для меня, включая Ansible 1.3.2. Какую версию вы используете? – mpontes

Смежные вопросы