Managed Object - VsanVcClusterConfigSystem(vim.cluster.VsanVcClusterConfigSystem)

See also
ClusterComputeResource, Task, VimVsanReconfigSpec, VirtualMachine, VsanConfigInfoEx, VsanHostDrsStats, VsanRuntimeStatsHostMap
Since
vSphere API 6.0


Managed Object Description

This managed object type provides a comprehensive way to manage vSAN cluster configuration in below areas: In this class, ReconfigureEx enhances the legacy API ReconfigureComputeResource_Task. Legacy API ReconfigureComputeResource_Task is deprecated.
The ManagedEntity can be accessed with MOID of 'vsan-cluster-config-system', through vSAN service at vCenter server side.

Properties

Name Type Description
None

Methods

Methods defined in this Managed Object
VsanClusterGetConfig, VsanClusterGetRuntimeStats, VsanClusterReconfig, VsanEncryptedClusterRekey_Task, VsanQueryClusterDrsStats

VsanClusterGetConfig(getConfigInfoEx)

Get configInfoEx for a vSAN cluster
We can get vSAN configuration information through this method. Currently users can only get generic cluster configuration and data efficiency configuration through this API.
This API cannot retrieve fault domain configuration and disk group configuration. Disk group configuration can be retrieved through QueryDiskMappings. Fault domain configuration can be retrieved through Config.
Required Privileges
None

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the VsanVcClusterConfigSystem used to make the method call.
cluster PManagedObjectReference
to a ClusterComputeResource

The target vCenter cluster

Since vSphere API 6.0
P Required privilege: cluster

Return Value

Type Description
VsanConfigInfoExThe configuration spec for the vCenter cluster ConfigInfoEx inherits from VsanClusterConfigInfo. It appends data efficiency configuration.

Faults

Type Description
InvalidStateThrown if the vSAN is not enabled in current cluster.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFault

Events

Type
None

Show WSDL type definition



VsanClusterGetRuntimeStats(getRuntimeStats)

Get vSAN runtime stats of all hosts reside in specified cluster. This API is used to retrieve vSAN runtime stats from all hosts reside in specified vSAN cluster. It bases on specified stats type list, to retrieve expected vSAN runtime stats. If host is out of reach, such as disconnected from vCenter, its stats will be ignored and unset.
Required Privileges
None
Since
vSAN API 6.6

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the VsanVcClusterConfigSystem used to make the method call.
cluster PManagedObjectReference
to a ClusterComputeResource

The target vCenter cluster

Since vSAN API 6.6
stats* Pxsd:string[]

List of vSAN runtime stats type. Supported vSAN runtime stats types are declared in VsanHostStatsType. If this parameter is omitted, all supported runtime stats will be collected and returned.

Since vSAN API 6.6
*Need not be set PRequired privilege - see tooltip for details

Return Value

Type Description
VsanRuntimeStatsHostMap[]vim.vsan.RuntimeStatsHostMap[] List of vSAN runtime stats, each item contains owner host and its stats. If specified cluster is empty, or vSAN is disabled on it, an empty list will be returned.

Faults

Type Description
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



VsanClusterReconfig(reconfigureEx)

Reconfigure a vSAN cluster. This method is used to set vSAN specific configuration, the method can be used to modify all vSAN related configuration. From vSAN 6.2, this API is the replacement of ReconfigureComputeResource_Task in order to support more configurations such as deduplication and compression, fault domain, disk mapping configuration in the cluster. The legacy API ReconfigureComputeResource_Task is deprecated because new API provide everything that legacy API has. To modify generic vSAN cluster setting such as vSAN enablement and autoclaim enablement, vsanClusterConfig needs to be setup. To modify vSAN cluster specific features such as deduplication and compression enablement, dataEfficiencyConfig needs to be setup. Currently for vSAN 6.2, deduplication and and compression need to be enable/disable together. To enable/disable deduplication and compression on a vSAN cluster, disk convert process (PerformVsanUpgradeEx for description about disk convert process) will be invoked. This is only supported for all-flash disk groups. To modify vSAN cluster fault domain configuration, faultDomainsSpec needs to be setup. To modify vSAN cluster disk groups reconfiguration, diskMappingSpec needs to be setup. To modify vSAN iSCSI target service configuration, vim.vsan.ReconfigSpecs#iscsiSpec needs to be setup.

Reconfiguring vSAN cluster requires Host.Inventory.EditCluster privilege on the cluster, extra privileges may be required depending on what is being changed:

Required Privileges
None

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the VsanVcClusterConfigSystem used to make the method call.
cluster PManagedObjectReference
to a ClusterComputeResource

The target VC cluster.

Since vSphere API 6.0
vsanReconfigSpec PVimVsanReconfigSpec

The configure spec for vSAN cluster.

Since vSphere API 6.0
PRequired privilege - see tooltip for details

Return Value

Type Description
ManagedObjectReference
to a Task
vim.Task

Faults

Type Description
InvalidStateThrown if the vSAN is not enabled in current cluster.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFaultwhen turn on data efficiency feature on a cluster which has hybrid disk group.

Events

Type
None

Show WSDL type definition



VsanEncryptedClusterRekey_Task(rekeyEncryptedCluster)

Regenerate the key(s) used by vSAN encryption for the given cluster. When the key(s) used for vSAN encryption is compromised, this API can be used to renew the key(s). As described in VsanHostEncryptionInfo, vSAN uses Key Encryption Key (KEK) to wrap the Data Encryption Key (DEK). Generally a user will only need to renew the KEK and use new KEK to rewrap the DEK, when KEK is compromised, or on regular basis. This is referred to as "shallow rekey". If user suspects that DEK is also compromised, both KEK and DEK will be renewed. Correspondingly this is called "deep rekey". And as a consequence of DEK change, the data on vSAN datastore will be re-encrypted with the new DEK, so this will be a slow process.
This API does not support switching to a different KMS cluster. When there is a need to switch to a different KMS cluster, call vim.cluster.VsanVcClusterConfigSystem#VsanClusterReconfig and specify a different KMS cluster in the configuration kmsProviderId.

To run either shallow rekey or deep rekey for an encrypted vSAN cluster, both Cryptographer.ManageKeys privilege and Host.Inventory.EditCluster privilege are required on the cluster. If it is a shallow rekey, alternatively, caller with Vsan.Cluster.ShallowRekey privilege on the cluster will also be allowed.

Required Privileges
None
Since
vSAN API 6.6

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the VsanVcClusterConfigSystem used to make the method call.
encryptedCluster PManagedObjectReference
to a ClusterComputeResource

The target VC cluster

Since vSAN API 6.6
deepRekey* Pxsd:boolean

True to perform a deep rekey. Its default value is false when not provided, which means shallow rekey is performed

Since vSAN API 6.6
allowReducedRedundancy* Pxsd:boolean

This optional parameter is only applicable for deep rekey when it needs to migrate data across cluster for changing vSAN disk format. The default value is 'false' if not specified See allowReducedRedundancy, vim.vsan.host.DecommissionMode.ObjectAction#ensureObjectAccessibility, and vim.vsan.host.DecommissionMode.ObjectAction#evacuateAllData.

Since vSAN API 6.6
*Need not be set PRequired privilege - see tooltip for details

Return Value

Type Description
ManagedObjectReference
to a Task

Faults

Type Description
InvalidStateThrown if the vSAN is not enabled or encryption is not enabled on the cluster.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFault

Events

Type
None



VsanQueryClusterDrsStats(queryClusterDrsStats)

To support integration between vSAN and DRS, we are expected to report runtime stats of vSAN member hosts and VMs locate in specified vSAN cluster from storage perspective. Per request from DRS service, below stats are requested:

This API is used to retrieve runtime stats requested by DRS.
Required Privileges
None
Since
vSAN API VMC M5

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the VsanVcClusterConfigSystem used to make the method call.
cluster PManagedObjectReference
to a ClusterComputeResource

The target vSAN cluster;

Since vSAN API VMC M5
vms* PManagedObjectReference[]
to a VirtualMachine[]

Specified VM list of which runtime stats should be reported. If omitted return stats of all vSAN VMs locate in specified vSAN cluster;

Since vSAN API VMC M5
*Need not be set PRequired privilege - see tooltip for details

Return Value

Type Description
VsanHostDrsStats[]List of VsanHostDrsStats, in which stats should be parsed by the order of returned DrsStats.

Faults

Type Description
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition