https://issues.apache.org/jira/browse/CLOUDSTACK-657
master, 4.1.0
VMware Distributed Switch is an aggregation of per-host virtual switches presented and controlled as a single distributed switch through vCenter Server at the Datacenter level. vDS abstracts configuration of individual virtual switches and enables centralized provisioning, administration, and monitoring.
vDS is integral component of vCenter. Hence the native vDS support makes sense for wider and larger deployments of Cloudstack over vSphere.
Each Standard vSwitch represents an independent point of configuration that needs to be managed and monitored. The management of virtual networks required by instances in the cloud is tedious when virtual networks have to span across large number of hosts. Using distributed vSwitch (vDS) simplifies the configuration and monitoring.
Being standalone implementations, standard vSwitches do not provide any support for virtual machine mobility. So there needed a component to ensure that the network configurations on the source and the destination virtual switch are consistent and will allow the VM to operate without breaking connectivity or network policies. Particularly during migration of VM across hosts, the sync up among peers need to be taken care. However in case of distributed vSwitch during VMotion, the vCenter server, would update the vSwitch modules on the hosts in cluster accordingly.
This is functional specification of feature "CloudStack integration with VMware dvSwitch" which has Jira ID CS-657
Author |
Description |
Date |
---|---|---|
Sateesh Chodapuneedi |
Initial Revision |
12/31/2012 |
dvSwitch - VMware vNetwork Distributed Virtual Switch.
vSwitch - VMware vNetwork Standard Virtual Switch.
dvPort - Distributed Virtual Port (member of dvPortGroup).
dvPortGroup - Distributed Virtual Port Group
1. There is a datacenter running vSphere clusters which are using dvSwitches for virtual networking. Migrate those servers into CloudStack cloud.CloudStack should be able to manage virtual networks over dvSwitches smoothly.
2. VM lifecycle operations like creation, start, shutdown to create a VM in cloud. Guest network implementation over dvSwitch would be covered in this use case. This includes configuration/re-configuration of distributed virtual port groups associated with the VM.
3. Network specific operation like create/allocate, shutdown, trash would cover distributed virtual portgroup specific operations like distributed virtual portgroup creation, deletion etc.
4. User would like to live migrate a VM within cluster of a CloudStack cloud with dvSwitch in place for virtual networks. User wants to have the traffic shaping policies intact even after migration to another host within that cluster.
Changes to existing web services APIs - AddClusterCmd
Adding an optional parameter named 'virtulSwitchType' which can have values 'vmwaresvs' or 'vmwaredvs' or 'nexusdvs'.
New APIs introduced - N/A
1. "VMware vNetwork Standard Virtual Switch"
Action to perform if this option is selected:-
Add a parameter to parameter list of AddClusterCmd API call.
Parameter name: "vswitchtype"
Parameter value: "vmwaresvs"
2. "VMware vNetwork Distributed Virtual Switch"
Action to perform if this option is selected:-
Add a parameter to parameter list of AddClusterCmd API call.
Parameter name: "vswitchtype"
Parameter value: "vmwaredvs"
3. "Cisco Nexus 1000v Distributed Virtual Switch"
Action to perform if this option is selected:-
Add a parameter to parameter list of AddClusterCmd API call.
Parameter name: "vswitchtype"
Parameter value: "nexusdvs"
List Box label - "Virtual Switch Type"
Default option - "VMware vNetwork Standard Virtual Switch"
Appendix A:
Appendix B: