Как я могу указать роль Ansible и ее аргумент в списке зависимостей другой роли?
Как я могу указать роль Ansible и ее аргумент в списке зависимостей зависимой роли, которые хранятся в отдельных репозиториях Git?
Рассмотрим следующий неверный пример, где роль tomcat
зависит от версии 8 роли openjdk
:
# Role tomcat at git+http://source/ansible/roles/tomcat.
# File tomcat/meta/main.yml.
---
dependencies:
# When it retrieves role tomcat, ansible-galaxy retrieves role openjdk.
- src: git+http://source/ansible/roles/openjdk
version: master
# ansible-playbook invokes role openjdk, but fails to set openjdk_version.
- { role: openjdk, openjdk_version: 8 }
Как правильно указать роль зависимости openjdk
?
Версия Ansible Galaxy:
derek@derek-lubuntu:~/Projects/deployer$ ansible-galaxy --version
ansible-galaxy 2.3.0 (devel 947e0f264e) last updated 2016/11/10 11:45:16 (GMT -400)
lib/ansible/modules/core: (detached HEAD 2584fca0ae) last updated 2016/11/04 12:08:44 (GMT -400)
lib/ansible/modules/extras: (detached HEAD a1dcbf9ce5) last updated 2016/11/04 12:08:44 (GMT -400)
config file = /home/derek/Projects/deployer/ansible.cfg
configured module search path = Default w/o overrides
Ansible Playbook версия:
ansible-playbook 2.3.0 (devel 947e0f264e) last updated 2016/11/10 11:45:16 (GMT -400)
lib/ansible/modules/core: (detached HEAD 2584fca0ae) last updated 2016/11/04 12:08:44 (GMT -400)
lib/ansible/modules/extras: (detached HEAD a1dcbf9ce5) last updated 2016/11/04 12:08:44 (GMT -400)
config file = /home/derek/Projects/deployer/ansible.cfg
configured module search path = Default w/o overrides
1 ответ
Решение
Как я не мог найти способ пройти openjdk_version
в качестве аргумента для роли openjdk
Я вместо этого последовал Andrey Rusanov и добавил переменную openjdk_version
в vars/main.yml
роли tomcat
:
---
openjdk_version: 8
meta/main.yml
теперь содержит только src
зависимость для openjdk
:
# From role tomcat at git+http://source/ansible/roles/tomcat.
# File tomcat/meta/main.yml.
---
dependencies:
- src: git+http://source/ansible/roles/openjdk
version: master