Scripting Object - VcHostVsanInternalSystem

Scripting-object corresponding to
HostVsanInternalSystem
Attribute of
VcHostConfigManager

Scripting Object Description

The VsanInternalSystem exposes low level access to CMMDS, as well as draft versions of VSAN object and disk management APIs that are subject to change in future releases. No compatibility is guaranteed on any of the APIs, including their prototype, behavior or result encoding.

Attributes

Name Type Description
idString

@since Unknown
morefVcManagedObjectReference

returns the ManagedObjectReference of this ManagedObject @since Unknown
sdkConnectionVcSdkConnection

@since Unknown
sdkIdString

@since Unknown
typeStringDeprecated.

Returns the name for the this managed object's vim type @since Unknown
vimHostVcSdkConnection

@since Unknown
vimIdString

@since Unknown
vimTypeString

@since Unknown

Methods

Methods defined in this Scripting Object
_getRef, abdicateDomOwnership, canDecommission, canProvisionObjects, createTrigger, deleteVsanObjects, getVsanObjExtAttrs, queryCmmds, queryObjectsOnPhysicalVsanDisk, queryPhysicalVsanDisks, querySyncingVsanObjects, queryVsanObjects, queryVsanObjectUuidsByFilter, queryVsanStatistics, reconfigurationSatisfiable, reconfigureDomObject, runVsanPhysicalDiskDiagnostics, upgradeVsanObjects

_getRef

@since Unknown

Parameters

NameTypeDescription
None

Return Value

Type Description
VcManagedObjectReference

canProvisionObjects

Determine if given objects can be provisioned. Determines if the objects of the given size can be provisioned with the given policies. The API is intended to answer the question: can these objects be provisioned with the given policy using the current cluster topology (#hosts and #disks) and does NOT take into account free space on the disk, size of disks, etc. If the objects cannot be provisioned, the API returns the reason for not being able to satisfy the policy. If the objects can be provisioned, the API returns the cost of provisioning objects with this policy. Please note: This API ignores forceProvisioning. @since vSphere API 5.5

Parameters

NameTypeDescription
arg0VcVsanNewPolicyBatch []

arg1Boolean


Return Value

Type Description
VcVsanPolicySatisfiability []

canDecommission

Determine if a given MD, Disk Group or Host can be decommissioned and the cost of decommissioining. The API is intended to answer the question: can the given entity be decommissioned. The API provides a reason why the decommissioning can't be done in the current cluster and a cost of decommissioning. XXX: For now, the API only implements the decommissioning cost and *NOT* whether decom is possible or the reason. @since vSphere API 6.0

Parameters

NameTypeDescription
arg0VcVsanDecommissioningBatch []


Return Value

Type Description
VcVsanDecommissioningSatisfiability []

queryVsanStatistics

Query VSAN system statistics. This is a low level API that gathers low level statistic counters from the system. The details of the counters remain undocumented and unsupported at this point, and this API remains internal. The data for this API call mostly comes from VSI, but also other tools like memstats. The caller can control which counters are being retrieved by providing a list of labels. The following labels are current supported: - TBD @since vSphere API 5.5

Parameters

NameTypeDescription
arg0String []


Return Value

Type Description
String

abdicateDomOwnership

Abdicate ownership of DOM objects. The objects must be currently owned by this host. Which host has ownership of an object at a given point in time can be queried from QueryVsanObjects() or QueryCmmds() APIs. Abidcating ownership tears down DOM owner in-memory state. Hosts in the cluster will then compete to become the new owner of the object, similar to a host failure event. There is a short interuption of IO flow while the owner re-election is going on, but it is transparent to any consumers of the object. This API is meant as a troubleshooting and debugging tool. It is internal at this point and can be used to resolve issues where DOM owner gets "stuck". @since vSphere API 5.5

Parameters

NameTypeDescription
arg0String []


Return Value

Type Description
String []

querySyncingVsanObjects

Query information about VSAN DOM objects that are currently syncing data. Instead of returning all objects, only such objects are returned that are currently resyncing any stale components or syncing fresh replicas. The API returns the same output format as queryVsanObjects(). It retrieves information about syncing all objects, or retricts the search for syncing objects to the UUID list provided. In order to make this API efficient, the output of this API contains the found DOM_OBJECT, and referenced LSOM_OBJECT and DISK entries. @since vSphere API 5.5

Parameters

NameTypeDescription
arg0String []


Return Value

Type Description
String

queryPhysicalVsanDisks

Query statistics about physical VSAN disks. Using the props parameter the caller can control which properties are returned. Requesting only the required properties is encouraged to reduce server load, response time and client load. @since vSphere API 5.5

Parameters

NameTypeDescription
arg0String []


Return Value

Type Description
String

queryCmmds

Query CMMDS directly. The list of given queries is executed and all results are returned in a flat list. No attempt is made to de-dupe results in the case of overlapping query results. @since vSphere API 5.5

Parameters

NameTypeDescription
arg0VcHostVsanInternalSystemCmmdsQuery []


Return Value

Type Description
String

reconfigureDomObject

Reconfigure DOM object. Typically we expect VM centric APIs to be used for setting storage policies, i.e. to use ReconfigVM() to change the policy/profile of a namespace directory or virtual disk. This is a low level API to reconfigure any object known by UUID. This API is internal and intended for troubleshooting/debugging situations in the field. @since vSphere API 5.5

Parameters

NameTypeDescription
arg0String

arg1String


Return Value

Type Description
None

reconfigurationSatisfiable

Determine if the given objects can be reconfigured with the given policies. The what-if determination only takes into account the total number of hosts and total number of disks per host. The API is intended to answer the question: is this reconfiguration possible using the current cluster topology (#hosts and #disks) and does NOT take into account free space on the disk, size of disks, etc. If policy is not satisfiable, the API returns the reason for not being able to satisfy the policy. If the policy is satisfiable, the API returns the cost of provisioning objects with the new policy. This cost can be combined with current available free disk space to compute if a particular operation is expected to succeed or fail. Please note: This API ignores forceProvisioning. @since vSphere API 5.5

Parameters

NameTypeDescription
arg0VcVsanPolicyChangeBatch []

arg1Boolean


Return Value

Type Description
VcVsanPolicySatisfiability []

runVsanPhysicalDiskDiagnostics

Runs diagnostics on VSAN physical disks. This method takes an active approach and creates a minimal and temporary object on each physical MD disk consumed by VSAN across the entire VSAN cluster. The temporary objects are deleted right away upon completion of creation. The result returns a list of all checked MDs, indicating wheather or not there was a problem creating an object on that MD at the given point in time. @since vSphere API 5.5

Parameters

NameTypeDescription
arg0String []


Return Value

Type Description
VcHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult []

createTrigger

@since Unknown

Parameters

NameTypeDescription
timeoutNumber

filterString

conditionString

filterToSyncString


Return Value

Type Description
Trigger

getVsanObjExtAttrs

Get VSAN object extended attributes. This API is internal and intended for troubleshooting/debugging situations in the field. WARNING: This API can be slow because we do IOs (reads) to all the objects. This API can be used to get extended attributes of any object in the VSAN cluster from any host provided the object is accessible from that host. In case of an error, we return a dict with key "Error" for that object. @since vSphere API 5.5

Parameters

NameTypeDescription
arg0String []


Return Value

Type Description
String

queryVsanObjects

Query information about VSAN DOM objects. Retrieves information about the given set of DOM object UUIDs. In order to make this API efficient, the output of this API contains the found DOM_OBJECT, and referenced LSOM_OBJECT and DISK entries. @since vSphere API 5.5

Parameters

NameTypeDescription
arg0String []


Return Value

Type Description
String

queryVsanObjectUuidsByFilter

Query VSAN object UUIDs by filtering conditions. The API queries CMMDS by given filtering conditions (initially only for object version) and return object UUID in an array with limited elements count. If caller specified the inputs objects UUID, then only these objects will be checked for the filtering conditions, and return ones which satisfy the filtering condition. In this case, the 'limit' parameter will be ignored. @since vSphere API 6.0

Parameters

NameTypeDescription
arg0String []

arg1Number

arg2Number


Return Value

Type Description
String []

deleteVsanObjects

Delete VSAN objects. This API is internal and intended for troubleshooting/debugging only. WARNING: This API can be slow because we do IOs to all the objects. This API can be used to delete VSAN objects. DOM won't allow access to objects which have lost quorum. Such objects can be deleted with the optional "force" flag. These objects may however re-appear with quorum if the absent components come back (network partition gets resolved, etc.) @since vSphere API 5.5

Parameters

NameTypeDescription
arg0String []

arg1Boolean


Return Value

Type Description
VcHostVsanInternalSystemDeleteVsanObjectsResult []

queryObjectsOnPhysicalVsanDisk

Query DOM objects on a given set of physical disks. Finds all DOM objects that have at least one component on the given physical disks. In order to make this API efficient, the output of this API contains the found DOM_OBJECT, and referenced LSOM_OBJECT and DISK entries. @since vSphere API 5.5

Parameters

NameTypeDescription
arg0String []


Return Value

Type Description
String

upgradeVsanObjects

Upgrade VSAN objects version. Upgrade a set of objects' version to new one in batch mode. API caller should limit the size of the inputs array, and suggested array size is 500 ~ 1000 initially. (The API will give more realistic suggestion after more experiments, then will apply hard limits in future) @since vSphere API 6.0

Parameters

NameTypeDescription
arg0String []

arg1Number


Return Value

Type Description
VcHostVsanInternalSystemVsanObjectOperationResult []