# Managed Object - VsanVdsSystem(vim.vsan.VsanVdsSystem)

See also
  ComputeResource, HostSystem, Task, VirtualMachine, VmwareDistributedVirtualSwitch, VsanVdsMigrationPlan
Since
  vSAN API 6.6

## Managed Object Description

vSAN optimized methods for performing VDS related operations, especially migrations from VSS to VDS. In every vCenter server there is a singleton instance of this class with the Managed Object ID of 'vsan-vds-system'.

Properties

Name | Type | Description
--- | --- | ---
None

Methods

Methods defined in this Managed Object
VsanRollbackVdsToVss, VsanVdsGetMigrationPlan, VsanVdsMigrateVss, VsanVssMigrateVds

# VsanRollbackVdsToVss(rollbackVdsToVss)

Rollback the change committed by the VsanVdsMigrateVss

Combined Privileges Required (on vSphere ManagedEntity):

Privileges | Required on
--- | ---
Host.Config.Storage | RootFolder

* The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
* The ClusterComputeResource entity in above table refers to the cluster which is being operated on

* The Required Privileges section below is not used, please ignore.

Required Privileges
  System.Read

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanVdsSystem used to make the method call.
task | ManagedObjectReference to a Task | The task associated with the change committed by the VsanVdsMigrateVss

Return Value

Type | Description
--- | ---
xsd:boolean | Always return True

Faults

Type | Description
--- | ---
NotFound | Task not found
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFault | Any unexpected runtime error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanRollbackVdsToVss" type="vsan:VsanRollbackVdsToVssRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanRollbackVdsToVssResponse"> <complexType> <sequence> <element name="returnval" type="xsd:boolean"/> </sequence> </complexType> </element>

# VsanVdsGetMigrationPlan(vsanVdsGetMigrationPlan)

Computes a migration plan to convert the VSS instances per host in the cluster to a newly created VDS. The VDS preserves all settings of the VSS, and all consumers (vmknics, VM vNICs, pNICs) are considered as part of the migration. The VSS vSwitch and portgroup instances across the hosts are matched to each other by common name. It is expected that hosts have a uniform configuration, and issues will be raised in the migration plan if deviations are found. Any deviations will still be carried over, but may require renaming of portgroups and additional VDS portgroups to resolve the conflicts. The migration plan is defined to be safe, i.e., the effective data path for all impacted VMs, vmknics and so on are going to be using the same settings as before the migration. The only change will be in any additional pNICs added as part of the migration. Note: This API can also be used to create a new VDS without any portgroups, but with the physical NICs attached, and with good settings for vSAN, by simply passing the vswitchName as NULL.

Combined Privileges Required (on vSphere ManagedEntity):

Privileges | Required on
--- | ---
System.Read | ClusterComputeResource

* The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
* The ClusterComputeResource entity in above table refers to the cluster which is being operated on

* The Required Privileges section below is not used, please ignore.

Required Privileges
  System.Read

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanVdsSystem used to make the method call.
cluster | ManagedObjectReference to a ComputeResource | Hosts of this cluster will be migrated to the new VDS
vswitchName* | xsd:string | Name of the original VSS vSwitch Since vSAN API 6.6
vdsName* | xsd:string | Name of the new VDS. Only required for the creation of a new VDS Since vSAN API 6.6
vmnicDevices* | xsd:string[] | Physical NICs that are currently unused to be attached to the new vDS. Since vSAN API 6.6
infraVm* | ManagedObjectReference[] to a VirtualMachine[] | Infrastructure VMs that will be handled specially during migration. Since vSAN API 6.6
vds* | ManagedObjectReference to a VmwareDistributedVirtualSwitch | The VDS which the hosts are connected to. Set this parameter when existing VDS can be leveraged. Since vSAN API 6.7

*Need not be set

Return Value

Type | Description
--- | ---
VsanVdsMigrationPlan | Detailed migration plan.

Faults

Type | Description
--- | ---
NotFound | when specified cluster doesn't exist.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFault | Any unexpected runtime error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanVdsGetMigrationPlan" type="vsan:VsanVdsGetMigrationPlanRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanVdsGetMigrationPlanResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VsanVdsMigrationPlan"/> </sequence> </complexType> </element>

# VsanVdsMigrateVss(vsanVdsMigrateVss)

Perform a migration to convert the VSS instances per host in the cluster to a newly created VDS. The VDS preserves all settings of the VSS, and all consumers (vmknics, VM vNICs, pNICs) are considered as part of the migration. The VSS vSwitch and portgroup instances across the hosts are matched to each other by common name. It is expected that hosts have a uniform configuration, and issues will be raised in the migration plan if deviations are found. Any deviations will still be carried over, but may require renaming of portgroups and additional VDS portgroups to resolve the conflicts. The migration plan is defined to be safe, i.e., the effective data path for all impacted VMs, vmknics and so on are going to be using the same settings as before the migration. The only change will be in any additional pNICs added as part of the migration. Note: This API can also be used to create a new VDS without any portgroups, but with the physical NICs attached, and with good settings for vSAN, by simply passing the vswitchName as NULL. If a migration plan is passed in, the API makes sure that no changes have happened and that the migration plan is still current. This can be used to make sure that the migration plan that the user reviewed doesn't deviate from the actual migration performed. If there are any inaccessible or orphaned VMs found the migration will not be performed. This is a safety measure as such VMs may loose their networking. If there are any inaccessible hosts in the cluster the migration will fail.

This API by default requires DVSwitch.Create and DVSwitch.Modify on RootFolder, and System.Read on cluster. Host.Inventory.EditCluster on hosts is required if hosts parameter is provided.

Required Privileges
  Dynamic - See discussion above

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanVdsSystem used to make the method call.
cluster | ManagedObjectReference to a ComputeResource | Hosts of this cluster will be migrated to the new VDS
migrationPlan* | VsanVdsMigrationPlan | Detailed migration plan Since vSAN API 6.6
vswitchName* | xsd:string | Name of the original VSS vswitch Since vSAN API 6.6
vdsName* | xsd:string | Name of the new VDS. Only required for the creation of a new VDS Since vSAN API 6.6
vmnicDevices* | xsd:string[] | Physical NICs that are currently unused to be attached to the new VDS. Since vSAN API 6.6
infraVm* | ManagedObjectReference[] to a VirtualMachine[] | Infrastructure VMs that will be handled specially during migration. Since vSAN API 6.6
vds* | ManagedObjectReference to a VmwareDistributedVirtualSwitch | The VDS which the hosts are connected to. Set this parameter when existing VDS can be leveraged. Since vSAN API 6.7

*Need not be set

Return Value

Type | Description
--- | ---
ManagedObjectReference to a Task | The task associated with the migration

Faults

Type | Description
--- | ---
NotFound | when specified cluster doesn't exist.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFault | Any unexpected runtime error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanVdsMigrateVss" type="vsan:VsanVdsMigrateVssRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanVdsMigrateVssResponse"> <complexType> <sequence> <element name="returnval" type="vsan:ManagedObjectReference"/> </sequence> </complexType> </element>

# VsanVssMigrateVds(vsanVssMigrateVds)

Perform a migration to convert the VDS instance in the cluster to a newly created VSS on each host. The VSS preserves all settings of the VDS, and all consumers (vmknics, VM vNICs, pNICs) are considered as part of the migration. The VSS vSwitch and portgroup instances on the VDS are matched to each other by common name. It is expected that hosts have a uniform configuration. The VDS will be deleted if no hosts and virtual machines are connected to this VDS after the migration completes. If there are any inaccessible or orphaned VMs found, the migration will not be performed. This is a safety measure as such VMs may lose their networking. If there are any inaccessible hosts in the cluster the migration will fail as well.

This API requires DVSwitch.Delete and DVSwitch.Modify on vds, extra privilege check might be needed depends on what is being migrated.

- Host.Inventory.EditCluster on cluster if hosts of the specified cluster to be migrated to the VDS
- Host.Inventory.EditCluster on all the hosts specified in hosts parameter

Required Privileges
  Dynamic - See discussion above
Since
  vSAN API 6.7

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanVdsSystem used to make the method call.
cluster* | ManagedObjectReference to a ComputeResource | Hosts of this cluster will be migrated from the specified VDS to the new VSS. Since vSAN API 6.7
hosts* | ManagedObjectReference[] to a HostSystem[] | Individual hosts to be migrated from the VDS to the VSS. Since vSAN API 6.7
vds | ManagedObjectReference to a VmwareDistributedVirtualSwitch | The VDS which the hosts in the cluster are connected to.
vswitchName* | xsd:string | Name of the new VSS to be migrated to. Since vSAN API 6.7
vmnicDevices* | xsd:string[] | Physical NICs that are currently unused to be attached to the new VSS. Since vSAN API 6.7
infraVm* | ManagedObjectReference[] to a VirtualMachine[] | Infrastructure VMs that will be handled specially during migration. Since vSAN API 6.7

*Need not be set

Return Value

Type | Description
--- | ---
ManagedObjectReference to a Task | The task associated with the migration

Faults

Type | Description
--- | ---
NotFound | when specified cluster doesn't exist.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFault | Any unexpected runtime error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanVssMigrateVds" type="vsan:VsanVssMigrateVdsRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanVssMigrateVdsResponse"> <complexType> <sequence> <element name="returnval" type="vsan:ManagedObjectReference"/> </sequence> </complexType> </element>