From 09b56b1c311a0f7558910cb20e53f965b5c79314 Mon Sep 17 00:00:00 2001 From: Sam Hague Date: Mon, 5 May 2014 10:30:09 -0400 Subject: [PATCH] Add options to configure provider network mappings for OpenDaylight OpenDaylight needs to know the physical network mapping used with vlan tenant isolation. This is similar to how the bridge_mappings cofig is used to map the physical network to the bridge, i.e. bridge_mappings=physnet1:br-eth1,physnet2:br-eth2. OpenDaylight needs the physical network device itself: provider_mappings=physnet1:eth1,physnet2:eth2. OpenDaylight needs the mapping because the device port is used when pushing flows. The neutron API's provide the physical provider network value for example as physnet1. DocImpact: Use of VLANs with ML2 and the OpenDaylight mechanism driver requires OpenDaylight Helium or newer to be installed. Closes-Bug: #1315492 Change-Id: If7af9ce5735b01c35315a54c79355ca87b72c4b4 --- extras.d/80-opendaylight.sh | 4 ++-- lib/opendaylight | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/extras.d/80-opendaylight.sh b/extras.d/80-opendaylight.sh index bf99866f92..bfbabc2570 100644 --- a/extras.d/80-opendaylight.sh +++ b/extras.d/80-opendaylight.sh @@ -47,9 +47,9 @@ if is_service_enabled odl-compute; then ODL_MGR_PORT=${ODL_MGR_PORT:-6640} read ovstbl <<< $(sudo ovs-vsctl get Open_vSwitch . _uuid) sudo ovs-vsctl set-manager tcp:$ODL_MGR_IP:$ODL_MGR_PORT - if [[ -n "$OVS_BRIDGE_MAPPINGS" ]] && [[ "$ENABLE_TENANT_VLANS" == "True" ]]; then + if [[ -n "$ODL_PROVIDER_MAPPINGS" ]] && [[ "$ENABLE_TENANT_VLANS" == "True" ]]; then sudo ovs-vsctl set Open_vSwitch $ovstbl \ - other_config:bridge_mappings=$OVS_BRIDGE_MAPPINGS + other_config:provider_mappings=$ODL_PROVIDER_MAPPINGS fi sudo ovs-vsctl set Open_vSwitch $ovstbl other_config:local_ip=$ODL_LOCAL_IP elif [[ "$1" == "stack" && "$2" == "post-extra" ]]; then diff --git a/lib/opendaylight b/lib/opendaylight index be3db6e685..0ac7f2b0e5 100644 --- a/lib/opendaylight +++ b/lib/opendaylight @@ -61,6 +61,9 @@ ODL_ARGS=${ODL_ARGS:-"-XX:MaxPermSize=384m"} # How long to pause after ODL starts to let it complete booting ODL_BOOT_WAIT=${ODL_BOOT_WAIT:-60} +# The physical provider network to device mapping +ODL_PROVIDER_MAPPINGS=${ODL_PROVIDER_MAPPINGS:-physnet1:eth1} + # Set up default directories