Приветствие,
Я сейчас работаю над созданием нового модуля внутри Ansible Crypto plugin. Возникла ситуация, когда редактирование существующего модуля не является вариантом, и мне нужно будет добавить новый модуль для выполнения некоторых криптографических функций через серверные API.
Ansible совсем недавно внесла некоторые изменения, где все сторонние плагины были перемещены за пределы кода Ansible в другие репозитории, поддерживаемые сообществом. Обновления документации не совсем исчерпывающие, это мое мнение.
Теперь я столкнулся с проблемой, когда, когда я добавляю новый модуль в код плагина, моя книга воспроизведения не улавливает это. Я собираюсь создать роль, которую можно будет использовать в моем учебнике.
Сведения о среде -
Host: Ubuntu 18.04
Python3 version: 3.6.9
Ansible: latest devel branch
Этапы создания среды разработки
git clone https://github.com/ansible/ansible.git
cd ~/ansible
. venv/bin/activate
source hacking/env-setup
Детали криптографического модуля
mkdir -p ~/dev/ansible/collections/ansible_collections/community
cd ~/dev/ansible/collections/ansible_collections/community
git clone https://github.com/ansible-collections/community.crypto.git
export COLLECTIONS_PATHS=~/dev/ansible/collections/
export ANSIBLE_COLLECTIONS_PATHS=~/dev/ansible/collections/
export ANSIBLE_COLLECTIONS_PATH=~/dev/ansible/collections/
Я создал свой модуль с именем my_module.py внутри modules / в каталоге community / crypto / plugins path.
Теперь, когда я пытаюсь использовать новый модуль в качестве роли в моем playbook, я получаю сообщение об ошибке, что my_module не найден . Ниже приведен пример сценария и ошибка.
Использование:
---
- hosts: localhost
roles:
- common
И мои задачи main.yml выглядят так, как показано ниже
- name: Some crypto stuff here
my_module:
<clipped>
Ошибка: ОШИБКА! не удалось разрешить модуль / действие my_module. Это часто указывает на орфографическую ошибку, отсутствие коллекции или неправильный путь к модулю.
PS: Я также попытался создать новое пространство имен и вытащить туда все, что связано с криптовалютным модулем, с моим собственным файлом. но то же самое, он не может определить, где может быть модуль.
Любые указатели или предложения приветствуются.
AJ