lbaas devstack plugin should start neutron-server with neutron_lbaas.conf

Bug #1526096 reported by Brandon Logan
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Invalid
Medium
Boden R

Bug Description

The neutron-lbaas devstack plugin sets up neutron_lbaas.conf but for non-default values to be read, neutron-server needs to be started with --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/neutron_lbaas.conf (or wherever those config files live).

Tags: lbaas
Revision history for this message
Bo Chi (bochi-michael) wrote :

Hi Brandon, I think there's a dilemma, neutron will load 'service_provider' from /etc/neutron/neutron_lbaas.conf if 'service_provider' is not already defined, please see [1].
But if we run neutron-server with explicit --config-file /etc/neutron/neutron_lbaas.conf, it will case other services fail to load, please see [2]

[1] https://github.com/openstack/neutron/blob/master/neutron/services/provider_configuration.py#L99
[2] http://paste.openstack.org/show/481931/

Revision history for this message
Brandon Logan (brandon-logan) wrote :

Ah I did not expect that. So this does seem like a bug anyway. So basically its either you provide all the neutron_*aas.confs explicitly or you don't provide any to get the service_providers loaded correctly. Is that a correct interpretation of the options to use the separate configs as it is now?

So the reason this is needed is because we do have options in the neutron_lbaas.conf that need to be read and they are not read if its not explicitly passed. I need to think about how to properly fix this so it doesn't break anything. Thanks for the heads up on this.

Revision history for this message
Doug Wiegley (dougwig) wrote :

A bug, but the default setup does work, so not critical.

Changed in neutron:
status: New → Triaged
importance: Undecided → Medium
Boden R (boden)
Changed in neutron:
assignee: nobody → Boden R (boden)
Revision history for this message
Boden R (boden) wrote :

At present, devstack allows additional configs to be added by using the Q_PLUGIN_CONF_PATH and Q_PLUGIN_EXTRA_CONF_FILES variables [1].

As noted in [1] if you are using Q_PLUGIN_EXTRA_CONF_FILES you must also set Q_PLUGIN_CONF_PATH.

Example.

In my devstack localrc I have:

Q_PLUGIN_EXTRA_CONF_PATH=/tmp
Q_PLUGIN_EXTRA_CONF_FILES=(file1 file2)

And my resulting q-svc (neutron server) service is started with (I'm using the vmware core plugin here obviously):

/usr/local/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/vmware/nsx.ini --config-file /tmp/file1 --config-file //tmp/file2 & echo $! >/opt/stack/status/stack/q-svc.pid; fg || echo "q-svc failed to start" | tee "/opt/stack/status/stack/q-svc.failure"

However, as far as I know using these variables does not change the define-on-load semantics of conf options.

Does this solve the issue presented in this bug?

[1] https://github.com/openstack-dev/devstack/blob/master/lib/neutron-legacy#L949

Revision history for this message
Boden R (boden) wrote :

I'm going to mark this as "Invalid" assuming comment #4 (existing functionality) resolves the issue. If this does not address the root issue please reopen with additional information as to the problem and I'll be happy to dig into it.

Changed in neutron:
status: Triaged → Invalid
Revision history for this message
Brandon Logan (brandon-logan) wrote :

Ah that works, thanks

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.