如何顺序使主机循环循环

时间:2019-06-25 11:23:15

标签: ansible ansible-2.x ansible-inventory

我有一些任务要在主机组上顺序执行。

示例如下。

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

ansible-playbook main.yml --limit myhosts

我希望这组任务将在第一台主机上执行,然后在第二台主机上执行,等等。但是实际上,这些任务是在“限制”中的所有主机上同时执行的。 我怀疑这种情况正在发生,因为我使用了限制,但我需要它。

那我该怎么办?

1 个答案:

答案 0 :(得分:0)

默认情况下,根据指定的here

  

播放过程采用线性策略,其中所有主机将在每个主机开始下一个任务之前运行每个任务。

您可以使用策略serial: 1在每个主机上顺序执行任务。

例如:

- hosts: all
  serial: 1
  tasks:
    ...