As carbon SR1 is released, update odl release definition for carbon SR1 and carbon snapshot 0.6.2 Change-Id: If3c60857a563a8c3ade81609de345873fe68bdba
Enabling in Devstack
Download DevStack
Copy the sample local.conf over:
cp devstack/local.conf.example local.confOptionally, to manually configure this:
Add this repo as an external repository:
> cat local.conf [[local|localrc]] enable_plugin networking-odl http://git.openstack.org/openstack/networking-odlOptionally, to enable support for OpenDaylight L3 router functionality, add the below. Note: This is only relevant when using old netvirt (ovsdb based, default):
> cat local.conf [[local|localrc]] ODL_L3=TrueIf you need to route the traffic out of the box (e.g. br-ex), set ODL_PROVIDER_MAPPINGS to map the physical provider network to device mapping, as shown below:
> cat local.conf [[local|localrc]] ODL_L3=True ODL_PROVIDER_MAPPINGS=${ODL_PROVIDER_MAPPINGS:-br-ex:eth2} # for old netvirt (ovsdb based) ODL_PROVIDER_MAPPINGS=${ODL_PROVIDER_MAPPINGS:-physnet1:eth2} # for new netvirt (vpnservice based)Optionally, to enable support for OpenDaylight with LBaaS V2, add this:
> cat local.conf [[local|localrc]] enable_plugin neutron-lbaas http://git.openstack.org/openstack/neutron-lbaas enable_service q-lbaasv2 NEUTRON_LBAAS_SERVICE_PROVIDERV2="LOADBALANCERV2:opendaylight:networking_odl.lbaas.driver_v2.OpenDaylightLbaasDriverV2:default"run
stack.shNote: In a multi-node devstack environment, for each compute node you will want to add this to the local.conf file:
> cat local.conf [[local|localrc]] enable_plugin networking-odl http://git.openstack.org/openstack/networking-odl ODL_MODE=computeNote: In a node using a release of Open vSwitch provided from another source than your Linux distribution you have to enable in your local.conf skipping of OVS installation step by setting SKIP_OVS_INSTALL=True. For example when stacking together with networking-ovs-dpdk Neutron plug-in to avoid conflicts between openvswitch and ovs-dpdk you have to add this to the local.conf file:
> cat local.conf [[local|localrc]] enable_plugin networking-ovs-dpdk http://git.openstack.org/openstack/networking-ovs-dpdk enable_plugin networking-odl http://git.openstack.org/openstack/networking-odl SKIP_OVS_INSTALL=TrueNote: Optionally, to use the new netvirt implementation (netvirt-vpnservice-openstack), add the following to the local.conf file (only allinone topology is currently supported by devstack, since tunnel endpoints are not automatically configured). For tunnel configurations after loading devstack, please refer to this guide https://wiki.opendaylight.org/view/Netvirt:_L2Gateway_HowTo#Configuring_Tunnels:
> cat local.conf [[local|localrc]] ODL_NETVIRT_KARAF_FEATURE=odl-restconf-all,odl-aaa-authn,odl-dlux-core,odl-mdsal-apidocs,odl-netvirt-vpnservice-openstack ODL_BOOT_WAIT_URL=restconf/operational/network-topology:network-topology/ # Workaround since netvirt:1 no longer exists in DS!Note: To enable Quality Of Service (QoS) with OpenDaylight Backend, add the following lines in neutron.conf:
> in /etc/neutron/neutron.conf service_plugins = qos, odl-routerenable qos extension driver in ml2 conf:
> in /etc/neutron/plugins/ml2/ml2_conf.ini extensions_drivers = qos, port_securityrestart neutron service q-svc
Note: legacy netvirt specific options
OVS conntrack support
- variable
-
ODL_LEGACY_NETVIRT_CONNTRACK By default it's False for compatibility and version requirements.
- version requirement
- ODL version
-
Boron release or later. (ODL legacy netvirt support is from Beryllium. But networking-odl devstack supports Boron+)
- OVS version
-
2.5 or later
enable OVS conntrack support:
> cat local.conf [[local|localrc]] ODL_LEGACY_NETVIRT_CONNTRACK=True
Note: To enable Vlan Aware VMs (Trunk) with OpenDaylight Backend, make the following entries in local.conf:
> cat local.conf [[local|localrc]] Q_SERVICE_PLUGIN_CLASSES=trunkEnabling L2Gateway Backend for OpenDaylight
The package networking-l2gw must be installed as a pre-requisite.
So include in your localrc (or local.conf) the following: enable_plugin networking-l2gw http://git.openstack.org/openstack/networking-l2gw enable_service l2gw_plugin NETWORKING_L2GW_SERVICE_DRIVER=L2GW:OpenDaylight:networking_odl.l2gateway.driver_v2.OpenDaylightL2gwDriver:default
Now stack up Devstack and after stacking completes, we are all set to use l2gateway-as-a-service with OpenDaylight.
- Note: To enable Service Function Chaining support driven by
networking-sfc, the following steps have to be taken:
local.conf should contain the following lines:
# enable our plugin: enable_plugin networking-odl https://github.com/openstack/networking-odl.git # enable the networking-sfc plugin: enable_plugin networking-sfc https://github.com/openstack/networking-sfc.git # enable the odl-netvirt-sfc Karaf feature in OpenDaylight ODL_NETVIRT_KARAF_FEATURE+=,odl-netvirt-sfc # enable the networking-sfc OpenDaylight driver pair [[post-config|$NEUTRON_CONF]] [sfc] drivers = odl_v2 [flowclassifier] drivers = odl_v2A special commit of Open vSwitch should be compiled and installed (containing compatible NSH OpenFlow support). This isn't done automatically by networking-odl or DevStack, so the user has to manually install. Please follow the instructions in: https://wiki.opendaylight.org/view/Service_Function_Chaining:Main#Building_Open_vSwitch_with_VxLAN-GPE_and_NSH_support
Carbon is the recommended and latest version of OpenDaylight to use, you can specify it by adding the following to local.conf:
ODL_RELEASE=carbon-snapshot-0.6To clarify, OpenDaylight doesn't have to be running/installed before stacking with networking-odl (and it shouldn't). The networking-odl DevStack plugin will download and start OpenDaylight automatically. However, it will not fetch the correct Open vSwitch version, so the instructions above and the usage of
SKIP_OVS_INSTALLare important.
- To enable BGPVPN driver to use with OpenDaylight controller
Include the following lines in your localrc (or local.conf)
enable_plugin networking-bgpvpn https://git.openstack.org/openstack/networking-bgpvpn.git
post-config [service_providers] service_provider=BGPVPN:OpenDaylight.networking_odl.bgpvpn.odl_v2.OpenDaylightBgpvpnDriver:default
and then stack up your devstack.