贡献

为 Networking-generic-switch 贡献

如果您想为 GenericSwitch 项目贡献代码,您必须遵循 OpenStack 社区记录中的通用流程:

通过 GitHub 提交的拉取请求将被忽略。

贡献者许可协议

为了能够为 GenericSwitch 项目贡献代码,您需要签署 OpenStack 的贡献者协议。

项目托管详情

缺陷追踪器

https://bugs.launchpad.net/networking-generic-switch

代码托管

https://opendev.org/openstack/networking-generic-switch

代码审查

https://review.opendev.org/#/q/status:open+project:openstack/networking-generic-switch,n,z

创建新的设备插件

  1. 继承抽象类 networking_generic_switch.devices.GenericSwitch 并实现它定义的所有抽象方法。

    • 您的类必须将一个字典作为第一个参数,该字典包含 ML2 插件配置的设备配置部分中的所有字段。这将在实例化对象中作为 self.config 提供。第二个参数是在配置中指定的设备名称。建议接受并传递 *args**kwargs 到父类的 __init__ 方法:这有助于保持与基类未来更改的兼容性。

  2. generic_switch.devices 入口点下注册您的类。

  3. 将您的设备配置添加到插件配置文件(默认情况下为 /etc/neutron/plugins/ml2/ml2_conf_genericswitch.ini)。唯一的必需选项是 device_type,它必须等于您注册插件的入口点,因为它用于插件查找(例如,请参阅提供的基于 Netmiko 的插件)。

其他贡献者资源

GenericSwitch 是 OpenStack 中 Bare Metal (ironic) 项目的成员。GenericSwitch 的开发遵循许多 ironic 约定。

Ironic 开发者快速入门 <https://docs.openstack.org/ironic/2025.2/contributor/dev-quickstart.html>_》包含一些相关信息——特别是关于使用 tox 进行单元测试、使用 devstack 进行集成测试以及其他可能对 GenericSwitch 开发者有用的信息。由于文档是针对 Ironic 编写的,因此应仅将其用作一般指南。