Как я могу указать роль 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
Другие вопросы по тегам