If you would like to contribute to the development of GenericSwitch project, you must follow the general OpenStack community procedures documented at:
https://docs.openstack.org/infra/manual/developers.html#development-workflow
Pull requests submitted through GitHub will be ignored.
.. index:: single: license; agreement
In order to contribute to the GenericSwitch project, you need to have signed OpenStack's contributor's agreement.
.. seealso:: * https://docs.openstack.org/infra/manual/developers.html * https://wiki.openstack.org/CLA
- Bug tracker
- https://bugs.launchpad.net/networking-generic-switch
- Code Hosting
- https://opendev.org/openstack/networking-generic-switch
- Code Review
- https://review.opendev.org/#/q/status:open+project:openstack/networking-generic-switch,n,z
- Subclass the abstract class
networking_generic_switch.devices.GenericSwitch
and implement all the abstract methods it defines.- Your class must accept as first argument a dictionary that contains
all fields given in the device config section of the ML2 plugin config.
This will be available as
self.config
in the instantiated object. The second argument is the device name as specified in the configuration. It is recommended to accept and pass*args
and**kwargs
to the __init__ method of the parent class: this helps to stay compatible with future changes of the base class.
- Your class must accept as first argument a dictionary that contains
all fields given in the device config section of the ML2 plugin config.
This will be available as
- Register your class under
generic_switch.devices
entrypoint. - Add your device config to the plugin configuration file
(
/etc/neutron/plugins/ml2/ml2_conf_genericswitch.ini
by default). The only required option isdevice_type
that must be equal to the entrypoint you have registered your plugin under, as it is used for plugin lookup (see providedNetmiko
-based plugins for example).
GenericSwitch is a member of the Bare Metal (ironic) program in OpenStack. Development of GenericSwitch follows many ironic conventions.
The Ironic developer quickstart <https://docs.openstack.org/ironic/latest/contributor/dev-quickstart.html>_ has some relevant information -- particularly on unit testing with tox, integration testing with devstack, and other information that may be useful for GenericSwitch developers. As the documentation is written targetting Ironic, it should only be used as a general guideline.