Есть ли хороший способ использовать Ansible Galaxy для установки и включения пользовательских модулей Ansible (2.7.9)?
Мое требование позволяет Ansible Galaxy загружать правильную роль Ansible, в которую встроен мой пользовательский модуль. Как только ansible-galaxy install --roles-path ansible/roles/ -r roles/requirements.yml
, я получаю следующую структуру (не исчерпывающую):
├── ansible
│ ├── roles
│ │ ├── mymodule (being imported by Galaxy)
│ │ │ ├── library
│ │ │ │ └── mymodule.py
При просмотре этой части документации кажется, что мой модуль находится в нужном месте и не требует дополнительной настройки: https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html?highlight=library#directory-layout
Но когда я нашел эту часть документации, я запутался. ANSIBLE_LIBRARY
связано с пользовательскими модулями?
DEFAULT_MODULE_PATH
Описание: пути, разделенные двоеточиями, в которых Ansible будет искать модули.
Тип: pathspec
По умолчанию: ~ / .ansible / плагины / модули: / usr / share / ansible / плагины / модули
Раздел Ini: значения по умолчанию
Ключ Ini: библиотека
Среда: ANSIBLE_LIBRARY
https://docs.ansible.com/ansible/latest/reference_appendices/config.html#default-module-path
При вызове моего модуля
- name: Test of my Module
mymodule:
я получаю следующую ошибку:
ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.
Я ожидал, что не нужно настраивать ANSIBLE_LIBRARY
, и модуль будет автоматически вызываться. Правильно ли я понимаю, или я тоже должен обмануть этот вар?