Ansible 中角色的串行执行

use*_*589 6 ansible ansible-role

我有一个定义如下的剧本:

- name: install percona rpms
  hosts: imdp
  roles:
    - role1
    - role2
    - role3
    - role4
Run Code Online (Sandbox Code Playgroud)

我只希望角色 3 中定义的任务能够串行执行。如果我serial: 1在 role3 任务中定义,它不起作用。所有任务都是并行执行的。但是如果我serial: 1在主yaml(上面的yaml)中定义,那么所有角色都会串行执行,这也是不需要的。

我怎样才能让role3串行执行?

Vla*_*tka 3

连续剧”仅在戏剧中可用。请参阅Playbook 关键字。解决方案是将角色分配给更多的戏剧。例如

- name: Play 1. install percona rpms
  hosts: imdp
  roles:
    - role1
    - role2

- name: Play 2. install percona rpms
  hosts: imdp
  serial: 1
  roles:
    - role3

- name: Play 3. install percona rpms
  hosts: imdp
  roles:
    - role4
Run Code Online (Sandbox Code Playgroud)