贡献¶
为 Networking-generic-switch 贡献¶
如果您想为 GenericSwitch 项目贡献代码,您必须遵循 OpenStack 社区记录中的通用流程:
通过 GitHub 提交的拉取请求将被忽略。
贡献者许可协议¶
为了能够为 GenericSwitch 项目贡献代码,您需要签署 OpenStack 的贡献者协议。
项目托管详情¶
创建新的设备插件¶
继承抽象类
networking_generic_switch.devices.GenericSwitch并实现它定义的所有抽象方法。您的类必须将一个字典作为第一个参数,该字典包含 ML2 插件配置的设备配置部分中的所有字段。这将在实例化对象中作为
self.config提供。第二个参数是在配置中指定的设备名称。建议接受并传递*args和**kwargs到父类的 __init__ 方法:这有助于保持与基类未来更改的兼容性。
在
generic_switch.devices入口点下注册您的类。将您的设备配置添加到插件配置文件(默认情况下为
/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 编写的,因此应仅将其用作一般指南。