Чтобы правильно определить зависимости в роли, вам необходимо:
Определить вашу зависимость /meta/main.yml под вашей ролью:
dependencies:
- role: pyenv
when: mypython_version not in versions
Вы должны вызывать свою роль из своейplay:
---
- name: Role Dependency
hosts: localhost
gather_facts: False
tasks:
- name: Get all install pyenv versions
command: '{{ pyenv_root }}bin/pyenv versions'
register: available_versions
environment:
PYENV_ROOT: "{{ pyenv_root }}"
roles:
- role: mydeployment
pyenv_version : "{{ mypython_version }}"
versions : "{{ available_versions.stdout }}"
Еще один пример в моей песочнице:
---
- name: Role Dependency
hosts: localhost
gather_facts: False
roles:
- role: role2
role1 : "Heyr"
Мета:
dependencies:
- role: role1
when: role1 == "Hey"
Результаты:
PLAY [Role Dependency] *******************************************************************************************************
TASK [role1 : Debug] *********************************************************************************************************
skipping: [localhost]
TASK [role2 : Debug] *********************************************************************************************************
ok: [localhost] => {
"msg": "Hello2"
}
Но когдапеременная в порядке:
---
- name: Role Dependency
hosts: localhost
gather_facts: False
roles:
- role: role2
role1 : "Heyr"
Результат:
TASK [role1 : Debug] *********************************************************************************************************
ok: [localhost] => {
"msg": "Hello1"
}
TASK [role2 : Debug] *********************************************************************************************************
ok: [localhost] => {
"msg": "Hello2"
}
Надеюсь, это поможет