openstackdevstackopenstack-neutronopenstack-juno

OpenStack Juno (Devstack) - How to Specify New Neutron Plugin Configuration Files?


I wasn't certain whether to put this question on stackoverflow or serverfault, but I think it is more coding related than IT infrastructure related.

I'm adding a new Neutron L3 plugin and have attempted to mimic the functionality of a few good examples thus far. My problem is here: while my config file is following the same naming conventions/locations, I keep having empty strings returned from Oslo Config.

Edit: my plugin myapp is in /opt/stack/neutron/neutron/plugins/ml2/drivers/myapp and my configuration file ml2_conf_myapp.ini is in /opt/stack/neutron/etc/neutron/plugins/ml2/.

How do you specify to Oslo config where to find new plugin configuration files and what their names are?

Thank you!


Solution

  • I ended up solving this issue by reading through the code in devstack/lib/neutron.

    In devstack/local.conf, you can set the variables Q_PLUGIN_EXTRA_CONF_FILES and Q_PLUGIN_EXTRA_CONF_PATH.

    In my case, I have:

    ML2_L3_PLUGIN=neutron.plugins.ml2.drivers.myapp.myapp
    Q_PLUGIN_EXTRA_CONF_FILES+="myapp_conf.ini"
    Q_PLUGIN_EXTRA_CONF_PATH="$DEST/neutron/neutron/plugins/ml2/drivers/myapp"
    

    Now Oslo is able to pick up the configurations.

    I hope this helps someone else save some work.