запустить роль дважды в Ansible - PullRequest
0 голосов
/ 25 февраля 2020

Я написал свою пьесу следующим образом:

 name: install kubernetes 
 hosts:  [kuber]
 roles:
   - A
   - B
   - C
   - B

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

Ответы [ 2 ]

1 голос
/ 25 февраля 2020

Ссылка: https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html#role -дублирование и выполнение

Чтобы роли выполнялись более одного раза, есть две опции:

  1. Передавайте разные параметры в каждом определении роли.
  2. Добавьте allow_duplicates: true в файл meta/main.yml для роли.

Таким образом, простой обходной путь в вашем случае может быть как следует:

- name: install kubernetes
  hosts:  [kuber]
  roles:
   - role: A
   - role: B
     vars:
       fake_param: firstinclude
   - role: C
   - role: B
     vars:
       fake_param: secondinclude
0 голосов
/ 25 февраля 2020

Использование include_role:

 name: install kubernetes 
 hosts:  [kuber]
 tasks:
 - include_role:
   name: A
 - include_role:
   name: B
 - include_role:
   name: C
 - include_role:
   name: B
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...