Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Apache CloudStack is an effort undergoing incubation at The Apache Software Foundation (ASF).
Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
The Nicira NVP plugin allows CloudStack to use the Nicira solution for virtualized network as a provider for CloudStack networks and services.
1.2. Features of the Nicira NVP Plugin
In CloudStack release 4.0.0-incubating this plugin supports the Connectivity service. This service is responsible for creating Layer 2 networks supporting the networks created by Guests. In other words when an tennant creates a new network, instead of the traditional VLAN a logical network will be created by sending the appropriate calls to the Nicira NVP Controller.
The plugin has been tested with Nicira NVP versions 2.1.0, 2.2.0 and 2.2.1
Note
In CloudStack 4.0.0-incubating only the XenServer hypervisor is supported for use in combination with Nicira NVP
Note
In CloudStack 4.0.0-incubating the UI components for this plugin are not complete, configuration is done by sending commands to the API
Before enabling the Nicira NVP plugin the NVP Controller needs to be configured. Please review the NVP User Guide on how to do that.
CloudStack needs to have at least one physical network with the isolation method set to "STT". This network should be enabled for the Guest traffic type.
Note
The Guest traffic type should be configured with the traffic label that matches the name of the Integration Bridge on XenServer. See the Nicira NVP User Guide for more details on how to set this up in XenServer.
Make sure you have the following information ready:
The IP address of the NVP Controller
The username to access the API
The password to access the API
The UUID of the Transport Zone that contains the hypervisors in this Zone
The UUID of the Physical Network that will used for the Guest networks
2.2. Enabling the service provider
To allow CloudStack to use the Nicira NVP Plugin the network service provider needs to be enabled on the physical network. The following sequence of API calls will enable the network service provider
addNetworkServiceProvider
name = "NiciraNVP"
physicalnetworkid = <the uuid of the physical network>
updateNetworkServiceProvider
id = <the provider uuid returned by the previous call>
state = "Enabled"
2.3. Device-management
In CloudStack 4.0.x each Nicira NVP setup is considered a "device" that can be added and removed from a physical network. To complete the configuration of the Nicira NVP plugin a device needs to be added to the physical network using the "addNiciraNVPDevice" API call. The plugin is now enabled on the physical network and any guest networks created on that network will be provisioned using the Nicra NVP Controller.
The plugin introduces a set of new API calls to manage the devices, see below or refer to the API reference.
addNiciraNvpDevice
physicalnetworkid: the UUID of the physical network on which the device is configured
The plugin maintains several references in the CloudStack database to items created on the NVP Controller.
Every guest network this is created will have its broadcast type set to Lswitch and if the network is in state "Implemented", the broadcast URI will have the UUID of the Logical Switch that was created for this network on the NVP Controller.
The Nics that are connected to one of the Logical Switches will have their Logical Switch Port UUID listed in the nicira_nvp_nic_map table
Note
All devices created on the NVP Controller will have a tag set to domain-account of the owner of the network, this string can be used to search for items in the NVP Controller.
3.2. Database tables
The following tables are added to the cloud database for the Nicira NVP Plugin
nicira_nvp_nic_map, contains a mapping from nic to logical switch port
id
logicalswitch, uuid of the logical switch this port is connected to
logicalswitchport, uuid of the logical switch port for this nic
nic, the CloudStack uuid for this nic, reference to the nics table
external_nicira_nvp_devices, contains all configured devices
id
uuid
physical_network_id, the physical network this device is configured on
provider_name, set to "NiciraNvp"
device_name, display name for this device
host_id, reference to the host table with the device configuration
Revision History
Revision History
Revision 0-0
Wed Oct 03 2012
HugoTrippaers
Documentation created for 4.0.0-incubating version of the NVP Plugin