Browse code

Allow a plugin specific interface_driver config in q-lbaas

Previously interface_driver for q-lbaas is hardcoded and q-lbaas does
not work when quantum plugin requires additional configuration (like
ovs_use_veth=True). This commit set up interface_driver using
quantum_plugin_setup_interface_driver function.

This commit also moves a script related Quantum service plugin to
lib/quantum_plugins/services/

Change-Id: Iad11c1b31071dfb580843be18be78c83feb91f10

Akihiro MOTOKI authored on 2013/03/22 16:35:38
Showing 3 changed files
... ...
@@ -179,7 +179,7 @@ source $TOP_DIR/lib/quantum_plugins/$Q_PLUGIN
179 179
 # Agent loadbalancer service plugin functions
180 180
 # -------------------------------------------
181 181
 # Hardcoding for 1 service plugin for now
182
-source $TOP_DIR/lib/quantum_plugins/agent_loadbalancer
182
+source $TOP_DIR/lib/quantum_plugins/services/agent_loadbalancer
183 183
 
184 184
 # Use security group or not
185 185
 if has_quantum_plugin_security_group; then
186 186
deleted file mode 100644
... ...
@@ -1,48 +0,0 @@
1
-# Quantum loadbalancer plugin
2
-# ---------------------------
3
-
4
-# Save trace setting
5
-MY_XTRACE=$(set +o | grep xtrace)
6
-set +o xtrace
7
-
8
-
9
-AGENT_LBAAS_BINARY="$QUANTUM_DIR/bin/quantum-lbaas-agent"
10
-
11
-function quantum_agent_lbaas_install_agent_packages() {
12
-    if is_ubuntu || is_fedora; then
13
-        install_package haproxy
14
-    elif is_suse; then
15
-        ### FIXME: Find out if package can be pushed to Factory
16
-        echo "HAProxy packages can be installed from server:http project in OBS"
17
-    fi
18
-}
19
-
20
-function quantum_agent_lbaas_configure_common() {
21
-    if [[ $Q_SERVICE_PLUGIN_CLASSES == '' ]]; then
22
-        Q_SERVICE_PLUGIN_CLASSES="quantum.plugins.services.agent_loadbalancer.plugin.LoadBalancerPlugin"
23
-    else
24
-        Q_SERVICE_PLUGIN_CLASSES="$Q_SERVICE_PLUGIN_CLASSES,quantum.plugins.services.agent_loadbalancer.plugin.LoadBalancerPlugin"
25
-    fi
26
-}
27
-
28
-function quantum_agent_lbaas_configure_agent() {
29
-    LBAAS_AGENT_CONF_PATH=/etc/quantum/plugins/services/agent_loadbalancer
30
-    mkdir -p $LBAAS_AGENT_CONF_PATH
31
-
32
-    LBAAS_AGENT_CONF_FILENAME="$LBAAS_AGENT_CONF_PATH/lbaas_agent.ini"
33
-
34
-    cp $QUANTUM_DIR/etc/lbaas_agent.ini /$LBAAS_AGENT_CONF_FILENAME
35
-
36
-    if [[ $Q_PLUGIN == 'linuxbridge' || $Q_PLUGIN == 'brocade' ]]; then
37
-        iniset $LBAAS_AGENT_CONF_FILENAME DEFAULT interface_driver "quantum.agent.linux.interface.BridgeInterfaceDriver"
38
-    else
39
-        iniset $LBAAS_AGENT_CONF_FILENAME DEFAULT interface_driver "quantum.agent.linux.interface.OVSInterfaceDriver"
40
-    fi
41
-
42
-    if is_fedora; then
43
-        iniset $LBAAS_AGENT_CONF_FILENAME DEFAULT user_group "nobody"
44
-    fi
45
-}
46
-
47
-# Restore xtrace
48
-$MY_XTRACE
49 1
new file mode 100644
... ...
@@ -0,0 +1,45 @@
0
+# Quantum loadbalancer plugin
1
+# ---------------------------
2
+
3
+# Save trace setting
4
+MY_XTRACE=$(set +o | grep xtrace)
5
+set +o xtrace
6
+
7
+
8
+AGENT_LBAAS_BINARY="$QUANTUM_DIR/bin/quantum-lbaas-agent"
9
+AGENT_LBAAS_PLUGIN=quantum.plugins.services.agent_loadbalancer.plugin.LoadBalancerPlugin
10
+
11
+function quantum_agent_lbaas_install_agent_packages() {
12
+    if is_ubuntu || is_fedora; then
13
+        install_package haproxy
14
+    elif is_suse; then
15
+        ### FIXME: Find out if package can be pushed to Factory
16
+        echo "HAProxy packages can be installed from server:http project in OBS"
17
+    fi
18
+}
19
+
20
+function quantum_agent_lbaas_configure_common() {
21
+    if [[ $Q_SERVICE_PLUGIN_CLASSES == '' ]]; then
22
+        Q_SERVICE_PLUGIN_CLASSES=$AGENT_LBAAS_PLUGIN
23
+    else
24
+        Q_SERVICE_PLUGIN_CLASSES="$Q_SERVICE_PLUGIN_CLASSES,$AGENT_LBAAS_PLUGIN"
25
+    fi
26
+}
27
+
28
+function quantum_agent_lbaas_configure_agent() {
29
+    LBAAS_AGENT_CONF_PATH=/etc/quantum/plugins/services/agent_loadbalancer
30
+    mkdir -p $LBAAS_AGENT_CONF_PATH
31
+
32
+    LBAAS_AGENT_CONF_FILENAME="$LBAAS_AGENT_CONF_PATH/lbaas_agent.ini"
33
+
34
+    cp $QUANTUM_DIR/etc/lbaas_agent.ini $LBAAS_AGENT_CONF_FILENAME
35
+
36
+    quantum_plugin_setup_interface_driver $LBAAS_AGENT_CONF_FILENAME
37
+
38
+    if is_fedora; then
39
+        iniset $LBAAS_AGENT_CONF_FILENAME DEFAULT user_group "nobody"
40
+    fi
41
+}
42
+
43
+# Restore xtrace
44
+$MY_XTRACE