Browse code

Update the OpenDaylight support to the Helium release

The OpenDaylight project recently released their latest release, codenamed
Helium. This commit updates the devstack support for OpenDaylight to this
new version, which includes changes to configuration files as well as the
startup of OpenDaylight itself.

Also update my email address in MAINTAINERS.rst.

Change-Id: I124b5e7e8ef7feb6c90de907916a9530409c4ad4

Kyle Mestery authored on 2014/10/16 01:30:15
Showing 2 changed files
... ...
@@ -48,7 +48,7 @@ Neutron
48 48
 OpenDaylight
49 49
 ~~~~~~~~~~~~
50 50
 
51
-* Kyle Mestery <kmestery@cisco.com>
51
+* Kyle Mestery <mestery@mestery.com>
52 52
 
53 53
 OpenFlow Agent (ofagent)
54 54
 ~~~~~~~~~~~~~~~~~~~~~~~~
... ...
@@ -48,10 +48,10 @@ ODL_PASSWORD=${ODL_PASSWORD:-admin}
48 48
 ODL_DIR=$DEST/opendaylight
49 49
 
50 50
 # The OpenDaylight Package, currently using 'Hydrogen' release
51
-ODL_PKG=${ODL_PKG:-distributions-virtualization-0.1.1-osgipackage.zip}
51
+ODL_PKG=${ODL_PKG:-distribution-karaf-0.2.0-Helium.zip}
52 52
 
53 53
 # The OpenDaylight URL
54
-ODL_URL=${ODL_URL:-https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distributions-virtualization/0.1.1}
54
+ODL_URL=${ODL_URL:-https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integration/distribution-karaf/0.2.0-Helium}
55 55
 
56 56
 # Default arguments for OpenDaylight. This is typically used to set
57 57
 # Java memory options.
... ...
@@ -59,11 +59,14 @@ ODL_URL=${ODL_URL:-https://nexus.opendaylight.org/content/repositories/opendayli
59 59
 ODL_ARGS=${ODL_ARGS:-"-XX:MaxPermSize=384m"}
60 60
 
61 61
 # How long to pause after ODL starts to let it complete booting
62
-ODL_BOOT_WAIT=${ODL_BOOT_WAIT:-60}
62
+ODL_BOOT_WAIT=${ODL_BOOT_WAIT:-20}
63 63
 
64 64
 # The physical provider network to device mapping
65 65
 ODL_PROVIDER_MAPPINGS=${ODL_PROVIDER_MAPPINGS:-physnet1:eth1}
66 66
 
67
+# Enable OpenDaylight l3 forwarding
68
+ODL_L3=${ODL_L3:-False}
69
+
67 70
 
68 71
 # Entry Points
69 72
 # ------------
... ...
@@ -83,11 +86,26 @@ function cleanup_opendaylight {
83 83
 
84 84
 # configure_opendaylight() - Set config files, create data dirs, etc
85 85
 function configure_opendaylight {
86
-    # Remove simple forwarder
87
-    rm -f $ODL_DIR/opendaylight/plugins/org.opendaylight.controller.samples.simpleforwarding*
86
+    # Add odl-ovsdb-openstack if it's not already there
87
+    local ODLOVSDB=$(cat $ODL_DIR/distribution-karaf-0.2.0-Helium/etc/org.apache.karaf.features.cfg | grep featuresBoot= | grep odl)
88
+    if [ "$ODLOVSDB" == "" ]; then
89
+        sed -i '/^featuresBoot=/ s/$/,odl-ovsdb-openstack/' $ODL_DIR/distribution-karaf-0.2.0-Helium/etc/org.apache.karaf.features.cfg
90
+    fi
88 91
 
89
-    # Configure OpenFlow 1.3
90
-    echo "ovsdb.of.version=1.3" >> $ODL_DIR/opendaylight/configuration/config.ini
92
+    # Configure OpenFlow 1.3 if it's not there
93
+    local OFLOW13=$(cat $ODL_DIR/distribution-karaf-0.2.0-Helium/etc/custom.properties | grep ^of.version)
94
+    if [ "$OFLOW13" == "" ]; then
95
+        echo "ovsdb.of.version=1.3" >> $ODL_DIR/distribution-karaf-0.2.0-Helium/etc/custom.properties
96
+    fi
97
+
98
+    # Configure L3 if the user wants it
99
+    if [ "${ODL_L3}" == "True" ]; then
100
+        # Configure L3 FWD if it's not there
101
+        local L3FWD=$(cat $ODL_DIR/distribution-karaf-0.2.0-Helium/etc/custom.properties | grep ^ovsdb.l3.fwd.enabled)
102
+        if [ "$L3FWD" == "" ]; then
103
+            echo "ovsdb.l3.fwd.enabled=yes" >> $ODL_DIR/distribution-karaf-0.2.0-Helium/etc/custom.properties
104
+        fi
105
+    fi
91 106
 }
92 107
 
93 108
 function configure_ml2_odl {
... ...
@@ -138,9 +156,7 @@ function start_opendaylight {
138 138
     #   -of13: runs ODL using OpenFlow 1.3 protocol support.
139 139
     #   -virt ovsdb: Runs ODL in "virtualization" mode with OVSDB support
140 140
 
141
-    # NOTE(chdent): Leaving this as screen_it instead of run_process until
142
-    # the right thing for this service is determined.
143
-    screen_it odl-server "cd $ODL_DIR/opendaylight && JAVA_HOME=$JHOME ./run.sh $ODL_ARGS -of13 -virt ovsdb"
141
+    run_process odl-server "cd $ODL_DIR/distribution-karaf-0.2.0-Helium && JAVA_HOME=$JHOME bin/karaf"
144 142
 
145 143
     # Sleep a bit to let OpenDaylight finish starting up
146 144
     sleep $ODL_BOOT_WAIT