The Cisco
Nexus 9000 Series devices support the Cisco Nexus plugin for OpenStack
Networking, also known as Neutron
(http://www.cisco.com/web/solutions/openstack/index.html). The plugin allows
you to build an infrastructure as a service (IaaS) network and to deploy a
cloud network. With OpenStack, you can build an on-demand, self-service,
multitenant computing infrastructure. However, implementing OpenStack's VLAN
networking model across virtual and physical infrastructures can be difficult.
The OpenStack
Networking extensible architecture supports plugins to configure networks
directly. However, when you choose a network plugin, only that plugin's target
technology is configured. When you are running OpenStack clusters across
multiple hosts with VLANs, a typical plugin configures either the virtual
network infrastructure or the physical network, but not both.
The Cisco Nexus
plugin solves this difficult problem by including support for configuring both
the physical and virtual networking infrastructure.
The Cisco Nexus plugin
accepts OpenStack Networking API calls and uses the Network Configuration
Protocol (NETCONF) to configure Cisco Nexus devices as well as Open vSwitch
(OVS) that runs on the hypervisor. The Cisco Nexus plugin configures VLANs on
both the physical and virtual network. It also allocates scarce VLAN IDs by
deprovisioning them when they are no longer needed and reassigning them to new
tenants whenever possible. VLANs are configured so that virtual machines that
run on different virtualization (compute) hosts that belong to the same tenant
network transparently communicate through the physical network. In addition,
connectivity from the compute hosts to the physical network is trunked to allow
traffic only from the VLANs that are configured on the host by the virtual
switch.
The following table
lists the features of the Cisco Nexus plugin for OpenStack Networking:
Table 1. Summary of Cisco
Nexus Plugin features for OpenStack Networking (Neutron)
Considerations
|
Description
|
Cisco Nexus
Plugin
|
Extension of
tenant VLANs across virtualization hosts
|
VLANs must be
configured on both physical and virtual networks. OpenStack Networking supports
only a single plugin at a time. You must choose which parts of the networks to
manually configure.
|
Accepts
networking API calls and configures both physical and virtual switches.
|
Efficient use
of scarce VLAN IDs
|
Static
provisioning of VLAN IDs on every switch rapidly consumes all available VLAN
IDs, which limits scalability and makes the network vulnerable to broadcast
storms.
|
Efficiently
uses limited VLAN IDs by provisioning and deprovisioning VLANs across switches
as tenant networks are created and destroyed.
|
Easy
configuration of tenant VLANs in a top-of-rack (ToR) switch
|
You must
statically provision all available VLANs on all physical switches. This process
is manual and error prone.
|
Dynamically
provisions tenant-network-specific VLANs on switch ports connected to
virtualization hosts through the Nexus plugin driver.
|
Intelligent
assignment of VLAN IDs
|
Switch ports
connected to virtualization hosts are configured to handle all VLANs. Hardware
limits are reached quickly.
|
Configures
switch ports connected to virtualization hosts only for the VLANs that
correspond to the networks configured on the host. This feature enables
accurate port and VLAN associations.
|
Aggregation
switch VLAN configuration for large multirack deployments.
|
When compute
hosts run in several racks, you must fully mesh top-of-rack switches or
manually trunk aggregation switches.
|
Supports
Cisco Nexus 2000 Series Fabric Extenders to enable large, multirack deployments
and eliminates the need for an aggregation switch VLAN configuration.
|