Contributing

Contributing to Networking-generic-switch

If you would like to contribute to the development of GenericSwitch project, you must follow the general OpenStack community procedures documented at:

Pull requests submitted through GitHub will be ignored.

Contributor License Agreement

In order to contribute to the GenericSwitch project, you need to have signed OpenStack’s contributor’s agreement.

Creating new device plugins

  1. Subclass the abstract class networking_generic_switch.devices.GenericSwitch and implement all the abstract methods it defines.
    • Your class must accept a single argument for instantiation -
      a dictionary with all fields given in the device config section of the ML2 plugin config. This will be available as self.config in the instantiated object.
  2. Register your class under generic_switch.devices entrypoint.
  3. Add your device config to the plugin configuration file (/etc/neutron/plugins/ml2/ml2_conf_genericswitch.ini by default). The only required option is device_type that must be equal to the entrypoint you have registered your plugin under, as it is used for plugin lookup (see provided Netmiko-based plugins for example).