мета / main.yml
dependencies:
- { role: 030.sensu-install }
приводит к:
[DEPRECATION WARNING]: The comma separated role spec format, use the
yaml/explicit format instead..
This feature will be removed in a future release.
Deprecation warnings can be disabled by setting deprecation_warnings=False in
ansible.cfg.
когда sudo ansible-galaxy install -r requirements/development.yml
выпущен.
Попытки решить проблему
когда
dependencies:
- role: 030.sensu-install
version: 0.1.0
определена, проверка синтаксиса завершается успешно, но предупреждение об устаревании сохраняется.
когда
dependencies:
- src: 030.sensu-install
version: 0.1.0
определено, sudo ansible-galaxy install -r requirements/development.yml
предупреждение об устаревании устранено, но ansible-playbook /etc/ansible/roles/role_under_test/tests/${playbook} --syntax-check
приводит к:
ERROR! role definitions must contain a role name
Обновление meta / main.yml согласно этот фрагмент следующим образом:
dependencies:
- src: 030.firewall
version: 0.1.0
name: 030.firewall
- src: 030.sensu-client
version: 0.4.1
name: 030.sensu-client
- src: geerlingguy.ntp
version: 1.3.0
name: geerlingguy.ntp
- src: geerlingguy.postfix
version: 1.1.0
name: geerlingguy.postfix
- src: geerlingguy.redis
version: 1.4.1
name: geerlingguy.redis
- src: Stouts.rabbitmq
version: 1.2.1
name: Stouts.rabbitmq
и установив требования, выполнив ansible-galaxy install -r requirements/development.yml
не вернул [DEPRECATION WARNING]: The comma separated role spec format
проблема больше.
В github есть открытый запрос на исправление ошибки, связанный с этой проблемой, но до сих пор неясно, является ли это ошибкой или вам следует использовать src: вместо этого проверьте обсуждение.
https://github.com/ansible/ansible/pull/14612
Думаю, пока разработчики не примут решение, вы можете игнорировать это предупреждение. Более того, вы на самом деле не используете синтаксис, разделенный запятыми, поэтому, на мой взгляд, это предупреждение не должно появляться.
dependencies:
- { role: 030.sensu-install }
должно быть хорошо.
если вы используете частное репо для галактики, тогда
мета \ main.yml
---
# local copy
#dependencies:
# - { role: '/roles/java', java_packages: java-1.8.0-openjdk }
#http
#dependencies:
# - { role: 'git+http://gitlabserver/ansible-galaxy/java.git,master'}
#ssh
dependencies:
- name: java
src: ssh://git@gitlabserver/ansible-galaxy/java.git
scm: git
version: master
Примечание: вам может потребоваться закрытый ключ на хосте для git clone