# 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

Required Privileges
  Host.Config.Storage

Parameters

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

P Required privilege: task

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.

Required Privileges
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanVdsSystem used to make the method call.
cluster P | ManagedObjectReference to a ComputeResource | Hosts of this cluster will be migrated to the new VDS Since vSAN API 6.6
vswitchName* P | xsd:string | Name of the original VSS vSwitch Since vSAN API 6.6
vdsName* P | xsd:string | Name of the new VDS. Only required for the creation of a new VDS Since vSAN API 6.6
vmnicDevices* P | xsd:string[] | Physical NICs that are currently unused to be attached to the new vDS. Since vSAN API 6.6
infraVm* P | ManagedObjectReference[] to a VirtualMachine[] | Infrastructure VMs that will be handled specially during migration. Since vSAN API 6.6
vds* P | 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.6
hosts* P | ManagedObjectReference[] to a HostSystem[] | hosts in the cluster to be migrated to the VDS. Leave this field empty if all the hosts in the cluster needs to be migrated. Since vSAN API 6.6

*Need not be set P Required privilege - see tooltip for details

Return Value

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

Faults

Type | Description
--- | ---
InvalidArgument | When hosts with invalid or inconsistent configuration are found.
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.
The migration will fail if there is any infraVm on ESX with version prior to 6.5.0d, due to the missing of API support on the hosts.
A minimal version of 6.0 is required for all hosts to be migrated for the NetIOC setup task. Also the VDS version will be 6.0.0 if there is any 6.0 host to be migrated, otherwise 6.5.0.

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
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanVdsSystem used to make the method call.
cluster P | ManagedObjectReference to a ComputeResource | Hosts of this cluster will be migrated to the new VDS Since vSAN API 6.6
migrationPlan* P | VsanVdsMigrationPlan | Detailed migration plan Since vSAN API 6.6
vswitchName* P | xsd:string | Name of the original VSS vswitch Since vSAN API 6.6
vdsName* P | xsd:string | Name of the new VDS. Only required for the creation of a new VDS Since vSAN API 6.6
vmnicDevices* P | xsd:string[] | Physical NICs that are currently unused to be attached to the new VDS. Since vSAN API 6.6
infraVm* P | ManagedObjectReference[] to a VirtualMachine[] | Infrastructure VMs that will be handled specially during migration. Since vSAN API 6.6
vds* P | 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.6
hosts* P | ManagedObjectReference[] to a HostSystem[] | hosts in the cluster to be migrated to the VDS. Leave this field empty if all the hosts in the cluster needs to be migrated. Since vSAN API 6.6

*Need not be set P Required privilege - see tooltip for details

Return Value

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

Faults

Type | Description
--- | ---
InvalidArgument | When hosts with invalid or inconsistent configuration are found.
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
  None
Since
  vSAN API 6.7

Parameters

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

*Need not be set P Required privilege - see tooltip for details

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>