Spec-Zone.ru › Ansible

Рекомендации по разработке модулей VMware REST

Коллекция Ansible VMware REST (на Galaxy <https://galaxy.ansible.com/vmware/vmware_rest>, исходный код repository <https://github.com/ansible-collections/vmware.vmware_rest>) поддерживается Red Hat и сообществом.

  • Процесс участия в разработке
  • Требования
  • Генерация модулей
  • Тестирование с помощью ansible-test

    • Форматировщик кода Black
    • Проверки корректности
    • Интеграционные тесты

Процесс участия в разработке

Модули коллекции 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API