Browse code

Clone neutron_lbaas for midonet plugin

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

Ryu Ishimoto authored on 2015/01/16 02:00:03
Showing 1 changed files
... ...
@@ -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 {