This page documents features of the Cisco OpenStack Neutron Technical Preview plugin. The Technical Preview plugin is open source software that contains features not yet incorporated into the upstream Cisco OpenStack mechanism plugin.
Note: This software is provided "as is", and in no event does Cisco warrant that the software is error or that the customer will be able to operate the software without problems or interruptions.
A version of the Neuron project containing the Technical Preview plugin is available at:https://github.com/cisco-openstack/neutron.git.
The upstream plugin is supplied with the core OpenStack distribution at https://github.com/openstack/neutron.
Documentation for the upstream plugin is available athttps;?\//wiki.openstack.org/wiki/NeutronML2/MechCiscoNexus.
The following sections describe the features of the Technical Preview plugin that are not in the upstream plugin. If you do not plan to use any of these features, you can download and use the upstream plugin, which might offer advantages in compatibility.
Note: This driver supports only the VXLAN and VLAN network types, and only supports the Cisco Nexus 9000 switch.
Note: Most features in the Technical Preview plug in are candidates for migration to the upstream plugin. If you upgrade your OpenStack release, check to see which plugin fits your needs.
VXLAN Overlay Configuration
The Cisco Nexus ML2 driver will not configure those features described in the "Considerations for the Transport Network" section of http://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/6-x/vxlan/configuration/guide/b_Cisco_Nexus_9000_Series_NX-OS_VXLAN_Configuration_Guide.pdf. You must perform such configuration yourself before configuring the plugin for VXLAN. Do all of the following that are relevant to your installation.
- Configure a loopback IP address address
- Configure IP multicast, PIM, and rendezvous point (RP)in the core
- Configure the default gateway for VXLAN VLANs on external routing devices
This feature is only available using neutron code fro Cisco repository's Technical Preview branch.
To support VXLAN configuration on a top-of-rack Nexus switch, add the following configuration settings:
- Configure an additional setting named
m12_mech_cisco_nexussection header, as shown in the following example.
[m12_mech_cisco_nexus:188.8.131.52] # Where physnet1 is a physical network name listed in the ML2 VLAN section header [m12_type_vlan]. physnet=physnet1
- Configure the VLAN range in the
m12_type_vlansection as shown in the following example. The
m12_type_vlansection header format is defined in the
[m12_type_vlan] network_vlan_ranges = physnet1:100:109
- Configure the network VNI ranges and muticast ranges in the
m12_type_nexus_vlansection, as shown in the following example.
The section header [m12_type_nexus_vlan] is defined in the
neutron/etc/neutron/plugins/m12/m12_conf.ini file to provide VXLAN information required by the Nexus switch.
[m12_type_nexus_vxlan] # Comma-separated list of<vni_mini>;<vni_max> tuples enumerating # ranges of VXLAN VNI IDs that are available for tenant network allocation. vni_ranges=50000:5500 # Multicast groups for the VXLAN interface. When configured, will # enable sending all broadcast traffic to this multicast group. Comma separated # list of min:max ranges of of multicast IP's # NOTE: must be a valid multicast IP, invalid IP's will be discarded mcast_ranges=184.108.40.206:220.127.116.11
VXLAN Overlay Configuration in DevStack
This feature is only available using Neutron code from Cisco repository's Technical Preview branch. The instructions at https://wiki.openstack.org/wiki/Sandbox/CML2MP#Configuring_Devstack_for_the_Cisco_Nexus_Mechanism_Driver describe how to configure DevStack with the Cisci Nexus mechanism driver. To use VXLAN with the DevStack configuration, do the following additional configuration step:
In addition to the standard
local.conf settings, use the following
local.conf file example to configure the Nexus switch for VXLAN Terminal End Point (VTEP) support.
[[local|localrc]] Q_PLUGIN=m12 Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,cisco_nexus Q_ML2_PLUGIN_TYPE_DRIVERS=nexus_vlan WQ_ML2__TENANT_NETWORK_TYPE=nexus_vxlan ML2_VLAN_RANGES=physnet1:100:109 ENABLE_TENANT_TUNNELS=False ENABLE_TENANT_VLANS=True PHYSICAL_NETWORK=physnet1 OVS_PHYSICAL_BRIDGE-br-eth1 [[post-config|/etc/neutron/plugins/m12/m12_conf.ini]] [agent] minimize_polling=True tunnel_types= [m12_mech_cisco_nexus:18.104.22.168] hostname=1/10 username=admin password=secretPassword ssh_port=22 physnet=physnet1 [m12_type_nexus_vxlan] vni_ranges=50000:55000 mcast_ranges=22.214.171.124:126.96.36.199 [m12_tyype_nexus_vlan] vni_ranges=50000:55000 mcast_ranges=188.8.131.52:184.108.40.206 [m12_type_vlan] network_vlan_ranges = physnet1:100:109
Provider Segment Limited Operations
The OpenStack/network administrator may want to control how the OpenStack create/update/delete port events program the Nexus switch for provider netwoeks. Three configuration variables have been introduce to address limiting the actions taken for provider networks during port events. The variables are defined inn the [ml2_cisco] section of m12_conf.cisco.ini
[m12_cisco] # VLAN Name prefix for provider vlans provider_vlan_name_prefix=<prefix name> # Provider VLANs are automatically created as needed on the Nexus switch. provider_vlan_auto_create=[True|False] # Provider VLANs are automatically trunked as needed on the ports of the Nexus switch. provider_vlan_auto_trunk=[True|False]