Managed Object - VsanVcClusterConfigSystem(vim.cluster.VsanVcClusterConfigSystem)

See also
ClusterComputeResource, ClusterComputeResourceValidationResultBase, Task, VimVsanReconfigSpec, VirtualMachine, VsanConfigInfoEx, VsanHostDrsStats, VsanRuntimeStatsHostMap, VsanVcLifecycleCheckResult, VsanVcLifecycleCheckSpec
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
RunLifecycleCheck, VsanClusterGetConfig, VsanClusterGetRuntimeStats, VsanClusterReconfig, VsanEncryptedClusterRekey_Task, VsanQueryClusterDrsStats, VsanValidateConfigSpec

RunLifecycleCheck(runLifecycleCheck)

Run checks for lifecycle operations on a given vSAN cluster. The specification indicates the lifecycle operation for which checks will be performed. The result contains an overall status of the checks, a list of the checks run, and vSAN cluster configurations details related to the checks. The overall status of the checks in the result represents the highest severity status of all the results of the individual checks. For example, if all tests pass, the highest severity status is green. If a test results in yellow status and another in red status, the overall status will be red. The list of checks contains a description of the check, its result status and in case of failure, a localized error message. The vSAN cluster configuration details contains information like witness host and fault domains information for stretched clusters, or no witness host information to indicate single-site cluster.
Required Privileges
System.Read
Since
vSAN API 7.3

Parameters

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

Cluster on which to perform lifecycle checks and return configuration information.

Since vSAN API 7.3
vsanLifecycleCheckSpec PVsanVcLifecycleCheckSpec

Specification for the lifecycle checks.

Since vSAN API 7.3
PRequired privilege - see tooltip for details

Return Value

Type Description
VsanVcLifecycleCheckResultLifecycle checks and configuration results.

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.
VsanFaultThrown if any unexpected runtime fault is met.

Events

Type
None

Show WSDL type definition



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
InvalidState
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



VsanValidateConfigSpec(validateConfigSpec)

Validate the vSAN cluster reconfig spec to figure out whether user spec can be supported by target cluster. This API cannot predict the runtime failure, but only check the spec based on software capability. If target cluster cannot support the spec, it returns the detailed config issues.
Required Privileges
None
Since
vSAN API vSAN 7.0U1

Parameters

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

The target VC cluster to apply reconfig spec

Since vSAN API vSAN 7.0U1
vsanReconfigSpec PVimVsanReconfigSpec

The configure spec to be validated

Since vSAN API vSAN 7.0U1
PRequired privilege - see tooltip for details

Return Value

Type Description
ClusterComputeResourceValidationResultBase[]A list of different validation results. The result returned are of two types. 1. If the spec enables vSAN2, then result for every precheck is returned using vim.vsan.ClusterConfigPrecheckItem. This includes prechecks of all possible statuses as in VsanHealthStatusType 2. If the spec does not enable vSAN2, then the result for prechecks are returned using ClusterComputeResourceValidationResultBase. Here, only the the prechecks which fail the validation are returned. The field info contains the precheck failure reason.

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