贡献 Ansible 维护的集合

Ansible 团队欢迎社区为 Red Hat Ansible 工程维护的集合做出贡献。本节介绍了如何在创建 PR 之前打开问题并创建 PR,以及所需的测试才能合并您的 PR。

Ansible 维护的集合

下表显示了

  • **Ansible 维护的集合** - 点击 Galaxy 上集合的链接,然后点击 Galaxy 中的 repo 按钮以查找此集合的 GitHub 存储库。

  • **相关的社区集合** - 包含社区创建的内容(模块、角色等)的集合,这些内容也可能对 Ansible 维护的集合的用户感兴趣。例如,您可以在将内容移至 Ansible 维护的集合之前,将新模块添加到社区集合作为技术预览。

  • **赞助商** - 管理集合的工作组。您可以加入会议以讨论对集合的重要建议更改和增强功能。

  • **测试要求** - 对于 Ansible 维护的集合的任何新内容或更改内容所需的测试。

  • **开发者详细信息** - 描述 Ansible 维护的集合是否接受现有集合内容的直接社区问题和 PR,以及基于集合类型的更具体的开发者指南。

集合详细信息 测试要求:Ansible 集合 开发者详细信息
Ansible 集合 相关的社区集合 赞助商 健全性 单元 集成 CI 平台 开放 PR* 指南
amazon.aws community.aws AWS ✓** ** Zuul AWS 指南
ansible.netcommon*** community.network 网络 Zuul 网络指南
ansible.posix community.general Linux Zuul 开发者指南
ansible.windows community.windows Windows ✓**** Azure Pipelines 和 Zuul Windows 指南
arista.eos community.network 网络 Zuul 网络指南
cisco.asa community.asa 安全 Zuul 开发者指南
cisco.ios community.network 网络 Zuul 网络指南
cisco.iosxr community.network 网络 Zuul 网络指南
cisco.nxos community.network 网络 Zuul 网络指南
ibm.qradar community.qradar 安全 Zuul 开发者指南
junipernetworks.junos community.network 网络 Zuul 网络指南
kubernetes.core kubernetes.core Kubernetes GitHub Actions
redhat.openshift community.okd Kubernetes GitHub Actions
openvswitch.openvswitch community.network 网络 Zuul 网络指南
splunk.es community.es 安全 Zuul 开发者指南
vyos.vyos community.network 网络 Zuul 网络指南
vmware.vmware_rest vmware.vmware_rest VMware Zuul VMware REST 指南

注意

* **开放 PR** 下的 ✓ 表示该集合欢迎对任何现有集合内容(插件、角色等)的 GitHub 问题和 PR。

** AWS 集合需要集成测试,并欢迎单元测试,但并非必需。如果由于外部要求导致集成测试在逻辑上不可行,则对此进行了例外处理。AWS Direct Connect 就是一个例子,因为此服务在未建立网络对等连接的情况下无法进行功能测试。因此,与 AWS Direct Connect 交互的模块需要单元测试。对 amazon.aws 的例外情况必须由 Red Hat 批准,对 community.aws 的例外情况必须由 AWS 社区批准。

*** ansible.netcommon 包含启用许多网络和安全 平台 集合的所有基础组件。它包含所有必需的连接和过滤器插件,并在安装平台集合时作为依赖项安装。

**** Windows PowerShell 模块的单元测试是测试的例外情况,但单元测试对于集合的其余部分(包括 Ansible 端插件)是有效且必需的。

决定您的贡献属于哪里

我们欢迎对 Ansible 维护的集合做出贡献。因为这些集合是下游支持的 Red Hat 产品的一部分,所以贡献、测试和发布的标准可能高于其他社区集合。相关的社区集合(例如 community.generalcommunity.network)的要求不太严格,并且是新功能的绝佳场所,这些功能可能会在将来的版本中成为 Ansible 维护的集合的一部分。

以下场景使用 arista.eos 来帮助解释何时为 Ansible 维护的集合做出贡献,以及何时将您的更改或想法建议给相关的社区集合

  1. 您想修复 arista.eos Ansible 维护的集合中的问题。直接在 arista.eos 集合 GitHub 存储库 中创建 PR。应用所有 合并要求

  2. 您想为 Arista 添加一个新的 Ansible 模块。您的选择如下之一

    • arista.eos 集合中提出一个新模块(需要 Arista 和 Red Hat 批准)。

    • arista 命名空间中提出一个新集合(需要 Arista 和 Red Hat 批准)。

    • community.network 集合中提出一个新模块(需要网络社区批准)。

    • 将您的新模块放在您自己的命名空间中的集合中(无需批准)。

大多数新内容应该首先进入相关的社区集合或您自己的集合,以便在您提出将其添加到 arista 命名空间之前在社区中得到很好的建立,在该命名空间中,包含和维护标准要高得多。

合并您的 PR 的要求

在您的 PR 可以合并到 Ansible 维护的集合之前,它必须满足以下要求

  1. PR 位于集合的预期范围内。与 Ansible 维护的集合表 中列出的相应 Ansible 赞助商联系以获取帮助。

  2. 对于网络和安全领域,PR 遵循 资源模块开发原则

  3. 通过 健全性测试和 tox

  4. 通过单元测试和集成测试,如 Ansible 维护的集合表 中所列和 资源模块集成测试 中所述。

  5. 遵循 Ansible 指南。请参阅 您应该开发模块吗?开发集合

  6. 解决所有审查意见。

  7. 包含适当的 更改日志