VMware REST 模块开发指南

Ansible VMware REST 集合(在 Galaxy <https://galaxy.ansible.com/vmware/vmware_rest> 上,源代码 存储库 <https://github.com/ansible-collections/vmware.vmware_rest>)由 Red Hat 和社区维护。

贡献流程

vmware_rest 集合的模块由另一个名为 content_builder <https://github.com/ansible-community/ansible.content_builder> 的工具自动生成。

如果您想贡献更改,我们希望您在此仓库中打开一个 issue。

要求

您将需要

  • 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=[email protected]
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/