Как сделать ANSIBLE Loop над хостами последовательно - PullRequest
0 голосов
/ 25 июня 2019

У меня есть набор задач, которые я хочу выполнить на множестве хостов последовательно.

Пример ниже.

hosts: all
tasks:
- name: do some work
  include_tasks: tasks_here.yml
  loop: "{{ vars[play_hosts] }}"

ansible-playbook main.yml --limit myhosts

Я ожидаю, что набор задач будет выполнен на первом хосте, затем на втором хосте и т. Д. Но на самом деле эти задачи выполняются одновременно на всех хостах в «ограничении». Я подозреваю, что это происходит, потому что я использую лимит, но он мне нужен в моем случае.

Так что мне делать?

1 Ответ

0 голосов
/ 25 июня 2019

По умолчанию, как указано здесь :

воспроизведения выполняются с линейной стратегией, при которой все хосты будут запускать каждую задачу до того, как какой-либо хост начнет следующую задачу.

Вы можете использовать стратегию serial: 1 для последовательного выполнения задач на каждом хосте.

Например:

- hosts: all
  serial: 1
  tasks:
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...