2016-06-16 4 views
1

(Я в настоящее время работает Ansible 2.1)Как включить петлю в playbook?

У меня есть playbook, который собирает список элементов, и у меня есть еще одна playbook (которая вызывает разные хосты и еще много чего), используя этот элемент в качестве основы для большинства операций. Поэтому, всякий раз, когда я использую with_items над книжкой, это вызывает ошибку.

The loop control section of the docs говорят, что «В версии 2.0 вы снова сможете использовать with_ loops и задача включает (но не включает в себя сборник пьес)». Есть ли обходной путь? Мне действительно нужно иметь возможность вызывать несколько хостов в включенном playbook, который выполняется над набором записей. Любые обходные пути, идеи для такого или чего-либо заслуживают высокой оценки!

P.S. Я мог бы технически command: ansible-playbook, но я не хочу спускаться по этой кроличьей лунке, если необходимо

ответ

0

Я думаю, что столкнулся с такими же проблемами, и, кстати, мигрировать в показывает больше, чем в «предмете», который уже используется. , ссылаясь на http://docs.ansible.com/ansible/playbooks_best_practices.html, у вас должен быть инвентарь (содержащий все ваши хосты) и мастер-книжку (даже если это теоретически). Хороший способ, вместо того чтобы включать в себя плейбуки, - это создавать роли, даже если они пустые. Попытайтесь найти «общую» роль для всего, что может быть применено к большинству ваших хостов. Затем включите дополнительные роли в зависимости от использования, это позволит вам запускать правильные хосты. У вас также могут быть роли, которые ничего не делают (что означает «ничего» в «задачах»), но содержат набор переменных, которые могут быть общими для двух ролей (вы избегаете дублирования записей).

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