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