跳转到: 导航, 搜索

Neutron 插件和驱动程序


Caution icon.svg {{{header}}}

{{{body}}}

简介

确保发布质量通过适当的测试是 OpenStack 社区的重要原则,Neutron 团队希望尽我们的一份力量。我们引入以下更改,以提高对供应商插件和驱动程序代码的质量和稳定性的可见性。此处描述的策略立即生效。


原理

第三方插件的代码提案一直以来都对 Neutron 核心团队提出了审查挑战。在早期,代码通常由核心项目贡献者提出,我们的审查过程仅验证是否满足社区编码风格和单元测试的要求。随着 Neutron 通过扩展添加了新的资源,Neutron 审查人员确保提出的代码能够正常工作变得更加困难。许多插件和/或驱动程序需要专有硬件和/或软件来进行此类测试。

除了测试更改之外,Neutron 团队还在修订第三方代码联系人的要求。这些更改使对联系人的书面期望与当前实践保持一致。


插件和驱动程序流程

将插件或驱动程序合并到 Neutron 上游,可以使您受益于同步发布,并且您的插件或驱动程序可能与基于上游同步发布发布的发行版一起打包。但是,这并不是“免费的午餐”,您应该理想情况下付出比您获得的更多,通过将您的代码上游来做到这一点。当您提交代码时,您给现有的审查和基础设施带来了负担。对后续的错误修复和回溯到稳定版本也是如此。因此,您应该有来自您的公司或团队的人员审查上游的其他代码,参与会议等。以下是包含上游代码的要求列表

  • 通过审查的代码,具有足够的单元测试,并符合 pep8 指南。
  • 一个 正常运行的 CI 系统,该系统已成功针对您的插件/驱动程序补丁以及其他补丁运行。
  • 参与 Neutron 会议、IRC 频道和邮件列表。
  • 插件/驱动程序团队的成员参与上游代码的审查。


删除上游插件或驱动程序

如果您未能满足上述标准,您的插件或驱动程序有被从上游删除的风险。核心团队将继续评估第三方 CI 系统,以确保它们正在运行并正确测试第三方插件和驱动程序的补丁。如果它们未能正常运行,将向 openstack-dev 邮件列表发送电子邮件,要求所有者修复此问题。理想情况下,所有者将回复电子邮件线程,并与 Neutron 和 Infra 团队合作解决 CI 问题。如果没有收到回复,或者在 2 周内没有取得足够的进展来解决该问题,将启动删除上游插件或驱动程序的流程。要将您的插件或驱动程序上游恢复,需要一个正常运行的第三方 CI 系统运行一个月,并正确投票更改上游。


联系人要求

每个第三方插件和/或驱动程序应指定每个协调发布周期中的联系人。该联系人将作为 Neutron 核心团队与支持插件或驱动程序的供应商或社区之间的联络人。联系人应

  • 参加每周 Neutron 团队 IRC 会议
  • 成为积极的审查员和贡献者
  • 成为 openstack-dev 邮件列表的积极参与者
  • 协助核心团队对插件和/或驱动程序特定的错误进行分类
  • 确保 OpenStack 开发期限正确传达给他们的公司和/或社区


测试要求

https://wiki.openstack.org/wiki/NeutronThirdPartyTesting


现有的插件和驱动程序

Neutron 项目仓库中现有的插件和驱动程序将获得一个宽限期,直到 Icehouse-2 里程碑,以实施外部第三方测试。届时,Neutron 团队将发布兼容插件和驱动程序列表(即,满足测试要求的插件和驱动程序)。没有外部测试的插件和驱动程序将在 Icehouse 版本中被弃用,并在 J 版本周期打开时成为删除的候选对象。

页面 ThirdPartySystems 收集了有关所有第三方 CI 系统(包括 Neutron 相关)的信息。

供应商 插件/驱动程序名称 联系人姓名 状态 重新检查命令 笔记
Neutron 团队 ML2 - OVS/LB Infra 团队 Y 由 Infra 覆盖(Jenkins)
A10 Networks LBaaS 驱动程序 Doug Wiegley Y redo-a10
Arista Networks ML2 驱动程序 Sukhdev Kapur Y recheck/reverify no bug/bug #
Avaya ML2 驱动程序 Ravi Palaparthi Y
Big Switch 插件 Kevin Benton Y recheck-bigswitch
Big Switch ML2 驱动程序 Kevin Benton Y
BNC DCFabric-ML2-Driver Yanwei Xu Y recheck-DCFabric
Brocade Vyatta 插件 Karthik Natarajan Y
Brocade ML2 驱动程序 Shiv Haris Y
Cisco 插件 - NXOS Dane Leblanc N 它已被弃用,将在 Juno 中删除
Cisco 插件 - N1Kv Dane Leblanc Y recheck cisco-n1kv
Cisco ML2 - APIC Dane Leblanc Y recheck cisco-apic
Cisco ML2 - DFA Dane Leblanc Y
Cisco ML2 - NXOS Dane Leblanc Y recheck cisco-ml2
Cisco CSR1kv - 路由器服务插件 Nikolay Fedotov, Richard Winters Y recheck cisco-csr1kv
Cisco VPNaaS - 驱动程序 Dane Leblanc Y recheck cisco-vpnaas
Cloudbase Solutions 插件 - Hyper-V Alessandro Pilotti Y
Embrane 插件 Ignacio Scopetta N embrane-recheck CI 无法通过他们自己的插件提交:https://review.openstack.org/#/c/108226/
Embrane LBaaS - 驱动程序 Ignacio Scopetta N embrane-recheck 没有 CI。是 Neutron 中被删除的候选对象
Freescale ML2 - 驱动程序 Trinath Somanchi Y recheck freescale
Freescale FWaaS - 插件 Trinath Somanchi Y recheck freescale
HP ML2 OVSvAPP - 驱动程序 Romil Gupta Y recheck-hpnetworkingci
IBM 插件 - SDN-VE Daya Kamath Y
Juniper 插件 - Contrail Rudra Rugge Y
Mellanox 插件 Omri Marcovitch N recheck mlnx 它已被弃用。将在 Kilo 中删除
Mellanox ML2 - 驱动程序 Omri Marcovitch Y recheck mlnx
Mellanox ML2 - Sriovnic 开关 Omri Marcovitch Y recheck mlnx
Metaplugin 插件 - 多个 NTT 团队 Y metaplugin-recheck
Midokura 插件 - Midonet Lucas Eznarriaga Y recheck midokura
NEC 插件 - OpenFlow Akihiro Motoki Y recheck-nec
Citrix NetScaler LBaaS - 驱动程序 Parikshit Manur Y
Nuage Networks 插件 - VSP Sailaja Yanamandra Y recheck-nuage
OFAgent ML2 - OF Yamamoto Takashi Y ryu-recheck
One Convergence 插件 - NVSD Hemanth Ravi Y recheck oneconvergence
OpenDaylight ML2 - ODL Dave Tucker (dave_tucker) / Kyle Mestery (mestery) Y recheck-opendaylight
PLUMgrid 插件 - Director Fawad Khaliq Y
Pluribus Networks ML2 驱动程序- Pluribus Prashanth Prahalad Y
Ryu 插件 - Ryu Controller Yamamoto Takashi Y ryu-recheck 已弃用。将在 Kilo 中删除
Radware LBaaS - 驱动程序 Samuel Bercovici N CI 不存在。应从 Neutron 中删除
Tail-f NCS ML2 - NCS Luke Gorrie Y recheck cisco-tailf
vArmour FWaaS Gary Duan Y recheck varmour
VMware 插件 - NSX Aaron Rosen Y vmware-recheck