Browse code

Merge "Update the OpenDaylight support to the Helium release"

Jenkins authored on 2014/10/18 01:09:19
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