Func47_GetClusterInfo

<< Click to Display Table of Contents >>

Navigation:  Modules > Asset Management > Software License Management > Authorization Analyzer (Complex license types) > AA Functions >

Func47_GetClusterInfo

Description

The purpose of this function is to return specific information about the cluster of which the requested asset is a member.

The requested asset is either the asset under test (tracing back to physical parent = 0), or the physical host (tracing back to physical parent = -1)

If tracing back to parent is sent as 0, then the asset under test is checked to see if it is part of a cluster.  This would be the case when the asset under test is either expected to be a physical machine or is expected to be part of a multi-VM cluster.

If the asset under test is expected to be a VM and its physical host may be part of a cluster, and it is the information about the physical cluster that you want returned, then send -1 for the tracing back to physical parent parameter.

Another parameter that may be specified is whether or not only physical devices should be considered when counting members of the cluster.  If sent as -1, then the scope of cluster members will be only those devices that are defined as physical machines, and the count returned will be based on that scope.

An optional parameter, defining the type of node, may be specified.  If specified, the only the requested counts for the specified type of node will be returned.  For example, if "Active Node" is specified and the request is to return processor counts, then the sum of all processors across all active nodes of the cluster will be returned.

 

Processing Notes

This function goes through the following steps to return the requested information:

Check to make sure there is an asset under test (authorization under test could be assigned to a user or user group)

Check to make sure a cluster name is defined for the asset under test or its parent (if tracing back to the physical parent has been requested.)  If no cluster name is defined for the asset record being checked, it is assumed the asset is not part of a cluster.

Retrieve all asset records that share the same cluster name.

Check to make sure more than one asset record is defined for the cluster or that a node type has been specified (it is valid to have only one matching asset when a node type has been specified).

Cycle through the returned asset records, totaling the cores and processors defined.  Check to make sure none of the participating assets have either a zero count for cores or processors (indicating missing information)

Return the requested information

If the "Consider Only Physical" checkbox is checked, then those request types that normally return a count of virtual machines will return a count of matching physical machines instead.

Inputs

 

Parameter

Explanation

Information to be returned

(iParmVal1)

A value that represents the information being requested as follows:

1 = return total processor count for cluster
2 = return total core count for cluster
3 = return name of cluster
4 = return role of asset under test in cluster
5 = return total computer count in cluster
6 = return total virtual/physical* machine count in cluster
7 = return total virtual/physical* machine count in cluster where an active authorization exists for the MSL under test
8 = return total virtual/physical* machine count in cluster where an active authorization exists for a title in the same family as the MSL under test.
9 = return total virtual/physical* machine count in cluster where an active authorization exists for a title in the same class as the MSL under test.
10 = return maximum count of processors in any given device in the cluster
11 = return maximum count of cores in any given device in the cluster

12 = Comma separated list of asset numbers for all physical hosts in cluster (performs like tag [%CLUSTERHOSTS%]

Return requested value for this node in the cluster (if applicable)

(ParmVal1)

A drop-down of all possible node types.  Default is to return the requested value for all nodes in the cluster.  If a node type is selected, then the requested information will be returned for all nodes that match the node type selected.  This parameter only applies to the following requests:

1 = return total processor count
2 = return total core count
5 = return total computer count
6 = return total virtual/physical* machine count
7 = return total virtual/physical* machine count (matching MSL)
8 = return total virtual/physical* machine count (matching family)
9 = return total virtual/physical* machine count (matching class)
10 = return max processor count
11 = return max core count

This parameter is ignored for any other request.

Trace back to physical parent

(iParmVal2)

0 = do not trace back to physical parent.  Use the asset under test to check for and return cluster information.

-1 = trace back to the asset under test's physical parent and return the requested information about the cluster of which the physical parent is part (if applicable)

Consider only physical machines

(iParmVal3)

0 = consider physical and virtual machines when returning the desired information.

-1 = consider only physical machines when returning the desired information.

 

 

Outputs

 

Result

Result Explanation

Confidence Adjustment

Return Value

True

Asset under test is a member of a cluster, there is more than one asset defined for the cluster, and all defined assets have non-zero core and processor counts defined.

N

(see table below)

False

There is no asset under test defined or the asset under test is not a member of a cluster

N

0 (if no cluster)

-1 (if no asset under test)

Else

General error occurred.

Only one device defined for cluster and no node type was specified

One or more of the devices in the cluster have either 0 processors and/or 0 cores defined.

A request to return the count of VMs with authorizations matching the same class as the MSL under test was issued, however the MSL under test has no class defined.

A request to return the count of VMs with authorizations matching the same family as the MSL under test was issued, however the MSL under test has no family defined.

Tracing back to physical parent was requested, asset under test is marked as a VM, yet has no Parent defined and no PhysicalComputerName defined (so trace could not be performed)

Tracing back to physical parent was requested, however the physical parent's asset record could not be found, or more than one record matched the query.  (meaning there are duplicate asset records for the parent)

Y

0 (general error)

-1 (only one device or error with tracing physical parent)

<requested info> (one or more devices has 0 cores or procs defined)

 

Request

Numeric Value Returned

String Value Returned

1

(Procs)

-1 (no asset under test or 1 device defined for cluster)

0 (no cluster name for requested asset)

<# procs for cluster or specified node> (otherwise)

String value of # of procs (if returned)

2

(Cores)

-1 (no asset under test or 1 device defined for cluster)

0 (no cluster name for requested asset)

<# cores for cluster or specified node> (otherwise)

String value of # cores (if returned)

3

(Name)

-1 (no asset under test or 1 device defined for cluster)

0 (otherwise)

<Cluster Name> if successful, (blank) otherwise

4

(Role)

-1 (no asset under test or 1 device defined for cluster)

0 (otherwise)

<Cluster Role> if successful, (blank) otherwise

5

(Devices)

-1 (no asset under test or 1 device defined for cluster)

0 (no cluster name for requested asset)

<# devices in cluster or specified node> (otherwise)

String value of # devices (if returned)

6

(VMs)

-1 (no asset under test or 1 device defined for cluster)

0 (no cluster name for requested asset)

<# VMs or physical machines* in cluster or specified node> (otherwise)

String value of # VMs or physical machines* (if returned)

7

(VMs same MSL)

-1 (no asset under test or 1 device defined for cluster)

0 (no cluster name for requested asset)

<# VMs or physical machines* in cluster or specified node that have an active authorization for the MSL under test> (otherwise)

String value of # VMs or physical machines* (if returned)

8

(VMs same MSL family)

-1 (no asset under test or 1 device defined for cluster or MSL under test has no family defined)

0 (no cluster name for requested asset)

<# VMs or physical machines* in cluster or specified node that have an active authorization for the same family as the MSL under test> (otherwise)

Warning if ELSE is returned, otherwise string value of # VMs or physical machines* (if returned) if TRUE is returned.

9

(VMs same MSL class)

-1 (no asset under test or 1 device defined for cluster or MSL under test has no class defined)

0 (no cluster name for requested asset)

<# VMs or physical machines* in cluster or specified node that have an active authorization for the same class as the MSL under test> (otherwise)

Warning if ELSE is returned, otherwise string value of # VMs or physical machines* (if returned) if TRUE is returned.

10

(Max procs)

-1 (no asset under test or 1 device defined for cluster)

0 (no cluster name for requested asset)

<max # procs for cluster or specified node> (otherwise)

String value of max # of procs (if returned)

11

(Max cores)

-1 (no asset under test or 1 device defined for cluster)

0 (no cluster name for requested asset)

<max # cores for cluster or specified node> (otherwise)

String value of max # of cores (if returned)

12

(Physical Hosts)

-1 (no asset under test or 1 device defined for cluster)

0 (no cluster name for requested asset)

<comma separated list of physical hosts for cluster> (otherwise)

String value with a comma separated list of physical hosts for cluster.

* VMs are returned if Consider only Physical is not checked.  If it is checked, then the count of physicals is returned.