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
... | ... |
@@ -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 |