MidoNet plugin needs the 'neutron_lbaas' module available when it
starts up without needing to start the LBaaS service. After the
advanced service split, however, devstack clones 'neutron_lbaas'
only when the 'lbaas' service is enabled. To get around this
conflict, clone 'neutron_lbaas' everytime midonet is configured
as the Neutron plugin.
Change-Id: Ide620db383fc44a66a84d00b2365ec2e846469fe
Closes-Bug: 1402242
| ... | ... |
@@ -29,6 +29,18 @@ function neutron_plugin_configure_common {
|
| 29 | 29 |
Q_PLUGIN_CONF_PATH=etc/neutron/plugins/midonet |
| 30 | 30 |
Q_PLUGIN_CONF_FILENAME=midonet.ini |
| 31 | 31 |
Q_PLUGIN_CLASS="neutron.plugins.midonet.plugin.MidonetPluginV2" |
| 32 |
+ |
|
| 33 |
+ # MidoNet implements LBaaS API in the plugin, not as an LBaaS driver. |
|
| 34 |
+ # In this model, the plugin references the 'neutron_lbaas' module but |
|
| 35 |
+ # does not require starting an LBaaS service. Devstack, however, clones |
|
| 36 |
+ # 'neutron_lbaas' only if 'lbaas' service is enabled. To get around this, |
|
| 37 |
+ # always clone 'neutron_lbaas' so that it is made available to the plugin. |
|
| 38 |
+ # Also, discontinue if the 'lbaas' service is enabled. |
|
| 39 |
+ if is_service_enabled q-lbaas; then |
|
| 40 |
+ die $LINENO "LBaaS service should be disabled for the MidoNet plugin" |
|
| 41 |
+ fi |
|
| 42 |
+ git_clone $NEUTRON_LBAAS_REPO $NEUTRON_LBAAS_DIR $NEUTRON_LBAAS_BRANCH |
|
| 43 |
+ setup_develop $NEUTRON_LBAAS_DIR |
|
| 32 | 44 |
} |
| 33 | 45 |
|
| 34 | 46 |
function neutron_plugin_configure_debug_command {
|