Я пишу простой две задачи анзибль пьес для загрузки файла обновления из Интернета и толкать его на управляемых серверах, что-то похожее на:анзибль Playbook с серийным> 1 и run_once
- hosts: all
serial: 10
tasks:
- name: Download update file
get_url: url=http://f.q.d.n/path/to/file dest=/tmp/
connection: local
run_once: true
- name: Copy update file to all servers
copy: src=/tmp/file dest=/path/to/file mode="..."
Первая задача должна работать только один раз на локальном хосте, остальные - 10 серийных партий. Однако в соответствии с доступной документацией задачи, отмеченные как «run_once», будут выполняться на одном хосте в каждой последовательной серии.
Я не могу использовать обходное решение, упомянутое в документации, используя resource_hostname в условном выражении, поскольку фактические целевые хосты могут быть разными, например. ограничено с -limit и т. д.
Что было бы правильным способом создания этой пьесы? Здесь используется pre_task?
Спасибо! Это работает так же, как и предполагалось, я не знал, что ansible по-прежнему будет соответствовать задачам localhost, даже если playbook выполняется с -limit –