я пытаюсь использовать include_role с элементамианзибль: include_role на петле работает неожиданное количество раз
---
- hosts: cluster
tasks:
- block:
- name: Execute test role
include_role:
name: testrole
with_items:
- 'one'
...
Моя роль
---
- name: Just debugging
debug:
...
Вопрос заключается в том, что, кажется, что роль является пробегает каждый хост X раз за элемент, где X - количество хостов.
PLAY [cluster] *****************************************************************
TASK [setup] *******************************************************************
ok: [thisNode]
ok: [dww]
TASK [Execute test role] *******************************************************
TASK [testrole : Just debugging] ***********************************************
ok: [thisNode] => {
"msg": "Hello world!"
}
ok: [dww] => {
"msg": "Hello world!"
}
TASK [testrole : Just debugging] ***********************************************
ok: [thisNode] => {
"msg": "Hello world!"
}
ok: [dww] => {
"msg": "Hello world!"
}
PLAY RECAP *********************************************************************
dww : ok=3 changed=0 unreachable=0 failed=0
thisNode : ok=3 changed=0 unreachable=0 failed=0
Почему это происходит и как я могу это исправить?
анзибль хозяева:
[cluster]
thisNode ansible_host=localhost ansible_connection=local
dww
Я не могу делегировать задачу, поскольку в реальной роли, задача должна быть выполнена в каждом из хостов.
Использование allow_duplicates: no
по-прежнему выводит то же самое.
---
- hosts: cluster
tasks:
- name: Execute test role
include_role:
name: testrole
allow_duplicates: False
with_items:
- 'one'
...
Спасибо за предложения. Кажется, что ни обойти это не обойдется мне ... Я отредактирую исходное сообщение с результатами обоих обходных решений. –
Странно, потому что я протестировал 'allow_duplicates: false' с вашей игрой, и это действительно сработало. Похоже, вы не показываете все. – techraf
Возможно, я добавлю его в неправильное место. Где его добавить? –