Для моей первоначальной настройки ansible-awx я взял свои роли, инвентарь и playbooks и поместил их в один GIT-репозиторий, защищенный аутентификацией по ключу ssh. HTTPS, похоже, не работает в Ansible-AWX 7.0
Я импортировал GIT-репозиторий как проект в ansible-awx
Мне уже удалось сослаться на учебники и инвентарь. Как мне удается использовать роли, которые у меня есть в репозитории GIT?
Я пробовал использовать следующий файл requirements.yml:
- src: ansible-awx@<some azure devops repo>
name: hosting
scm: git
Невозможно разрешить роль хоста при попытке запустить playbook, который применяет роль хостинга к моему инвентарю.
Я уже пробовал следующее:
Безуспешно.
Помощь очень ценится.
Обновить: Фактическая настройка. 1. Роль помещается в отдельный репозиторий GIT.
/
- defaults
- files
- handlers
- meta
- tasks
- templates
- vars
Полученное сообщение об ошибке:
Identity added: /tmp/awx_5_kjl4ecco/artifacts/5/ssh_key_data (/tmp/awx_5_kjl4ecco/artifacts/5/ssh_key_data)
ERROR! the role 'celum-hosting' was not found in /var/lib/awx/projects/_8__cps_tc_git/playbooks/hosting/roles:/var/lib/awx/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/var/lib/awx/projects/_8__cps_tc_git/playbooks/hosting
The error appears to be in '/var/lib/awx/projects/_8__cps_tc_git/playbooks/hosting/playbook_applyhostingrole.yml': line 4, column 7, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
roles:
- { role: celum-hosting }
^ here
Если у вас есть пьеса на пути /
вашего git, роли, необходимые для этой книги, должны быть расположены в пути /roles
в том же базовом каталоге. Вы не можете «делиться» ролями. Это «проблема» Ansible. Ранее было возможно, что рабочий каталог был основой пути поиска roles
но это было угрозой безопасности и было удалено. Ansible всегда ищет папку ролей внутри папки, в которой запущен playbook.
Итак - у вас не может быть репозитория Git только для ролей и другого репозитория для playbooks в AWX, потому что он помещает оба в разные места.
Возможно - что вы можете сделать, это поместить репозиторий ролей в подмодуль Git в свою книгу воспроизведения, и в этом случае проверка репозитория playbook также будет проверять репозиторий ролей. Но в этом случае у вас никогда не может быть ролей в репозитории playbook.