mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-04 00:02:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			88 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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.
 | 
						|
-----------------------------------------------------------
 | 
						|
 | 
						|
 | 
						|
Nicira Network Virtualization Platform (NVP) integration code is contributed 
 | 
						|
by Nicira and Schuberg Philis and copyright is donated to the Apache Software
 | 
						|
Foundation.
 | 
						|
 | 
						|
Authors
 | 
						|
    Somik Behera <sbehera@nicira.com>
 | 
						|
    Hugo Trippaers <htrippaers@schubergphilis.com>
 | 
						|
    
 | 
						|
== New API Calls 
 | 
						|
 | 
						|
The following API calls are added to CloudStack to support the integrations with
 | 
						|
the Nicira NVP platform. Please see the API documentation of CloudStack for 
 | 
						|
parameters and return values.
 | 
						|
 | 
						|
 * addNiciraNvpDevice
 | 
						|
 * deleteNiciraNvpDevice        
 | 
						|
 * listNiciraNvpDevices
 | 
						|
 * listNiciraNvpDeviceNetworks
 | 
						|
 | 
						|
== How to enable the Nicira NVP integration.
 | 
						|
 | 
						|
When configuring a zone create a new physical network for "Guest" traffic and 
 | 
						|
select "STT" as the isolation type. Set the Xen traffic label for "Guest" 
 | 
						|
traffic to the label of the integration bridge (refer to the Nicira 
 | 
						|
Documentation for setting up the integration bridge). Note that this requires 
 | 
						|
all traffic types to have their traffic labels set.
 | 
						|
 | 
						|
These steps are specified by the API calls as there is currently no GUI 
 | 
						|
available.
 | 
						|
 | 
						|
1. addNetworkServiceProvider
 | 
						|
    name="NiciraNvp", physicalnetworkid=<see above>, 
 | 
						|
    servicelist="Connectivity"
 | 
						|
2. updateNetworkServiceProvider
 | 
						|
    id=<id from step1>, state="Enabled"
 | 
						|
3. addNiciraNvpDevice
 | 
						|
    physicalnetworkid=<see step 1>, 
 | 
						|
    hostname=<hostname or IP of the controller>
 | 
						|
    username=<admin username>
 | 
						|
    password=<admin password>
 | 
						|
    transportzoneuuid=<transport zone uuid>
 | 
						|
 | 
						|
== How to use the Nicira integration
 | 
						|
 | 
						|
When creating a guest network make sure it is created in the physical network 
 | 
						|
with the isolation type set to "STT". When the first virtual machine is 
 | 
						|
launched in this network the NiciraNvpNetworkGuru will configure a logical 
 | 
						|
switch on the NVP Controller. During the startup of a virtual machine the 
 | 
						|
NiciraNvpElement will create a logical port for any NICs in the guest networks
 | 
						|
and attach the port to the existing logical swith.
 | 
						|
 | 
						|
== Debugging/Troubleshooting
 | 
						|
 | 
						|
All elements created on the NVP controller have tags with the name of the 
 | 
						|
account, this can be used to search the items using the NVP manager. The NVP 
 | 
						|
uuid of the logical switch is also stored in the BroadcastUri of the 
 | 
						|
corresponding Guest network in an lswitch uri scheme. The CloudStack uuid of 
 | 
						|
the NIC is used to make the Vif attachement on the logical switchport.
 | 
						|
 | 
						|
The following classes should be set to log level debug when troubleshooting.
 | 
						|
    com.cloud.network 
 | 
						|
        (Most NiciraNvp related objects live in this package and subpackages)
 | 
						|
    org.apache.commons.httpclient 
 | 
						|
        (used by NiciraNvpApi to make calls to the SDN Controller)
 | 
						|
    httpclient.wire
 | 
						|
        (wirelevel http tracing of httpclient)
 | 
						|
    
 | 
						|
Please report any findings to the developer mailing list.
 |