Рекомендации по разработке модулей VMware REST
Коллекция Ansible VMware REST (на Galaxy <https://galaxy.ansible.com/vmware/vmware_rest>, исходный код repository <https://github.com/ansible-collections/vmware.vmware_rest>) поддерживается Red Hat и сообществом.
Процесс участия в разработке
Модули коллекции vmware_rest автоматически генерируются с помощью другого инструмента под названием content_builder <https://github.com/ansible-community/ansible.content_builder>.
Если вы хотите предложить изменение, мы будем признательны, если вы создадите задачу в этом репозитории.
Требования
Вам понадобятся:
- Python версии 3.6 или выше
- команда
tox <https://tox.readthedocs.io/en/latest/install.html>
Генерация модулей
См. файл development.md в этом репозитории.
Тестирование с помощью ansible-test
Для всех модулей предусмотрены функциональные тесты. Они находятся в tests/integration/targets/.
Для запуска тестов вам понадобятся экземпляр vCenter и ESXi.
Форматировщик кода Black
Мы придерживаемся стиля написания кода, принятого в Black <https://github.com/psf/black>. Запустить форматировщик кода можно следующей командой.
tox -e black
Проверки корректности
Здесь мы используем Python 3.8, минимальная версия — 3.6.
tox -e black ansible-test sanity --debug --requirements --local --skip-test future-import-boilerplate --skip-test metaclass-boilerplate --python 3.8 -vvv
Интеграционные тесты
Эти тесты следует запускать в тестовой среде.
..warning:: Набор тестов удалит все существующие DC в вашей тестовой среде.
Сначала подготовьте файл конфигурации, который в этом примере мы назовём /tmp/inventory-vmware_rest:
[vmware_rest] localhost ansible_connection=local ansible_python_interpreter=python [vmware_rest:vars] vcenter_hostname=vcenter.test vcenter_username=administrator@vsphere.local vcenter_password=kLRy|FXwZSHXW0w?Q:sO esxi1_hostname=esxi1.test esxi1_username=zuul esxi1_password=f6QYNi65k05kv8m56
Для запуска тестов используйте следующую команду. При необходимости измените версию Python.
ansible-test network-integration --diff --no-temp-workdir --python 3.8 --inventory /tmp/inventory-vmware_rest zuul/
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/vmware/vmware_rest/docsite/dev_guide.html