У меня есть задача, которую я хочу delegate_to
некоторые хосты (наконец, я хочу перечислить их в некотором var, а не использовать группу из инвентаря). Для этого вопроса давайте упростим его до (я сделал то же самое, надеясь, что это поможет мне определить, где проблема):
- name Foo
tamplate:
dest=/path/to/file
src=template.j2
delegate_to: "{{ item }}"
with_items:
- some.host.in.my.domain
Это вызывает исключение:
Exception: host not found: {{ item }}
Есть идеи, почему это не работает? Дайте мне знать, если вам понадобятся подробности. Заранее благодарю за помощь.
Это что-то вроде ошибка в анзибле 1.8.2. Я столкнулся с такой же проблемой в другом месте, которое работало до того, как я сделал обновление.
Предполагая, что хост delegate_to может быть указан с помощью значения with_items - и я не понимаю, почему это не сработает - проблема в том, что вы не можете делегировать несуществующий хост.
Однако не все потеряно; Хитрость здесь в том, чтобы динамически добавлять хосты перед делегированием им. Попробуйте использовать add_host действие для добавления хостов в анзибл. Затем вы сможете делегировать им полномочия.