HPC 2008 Compute Node Cluster Discovery

Microsoft.HPC.2008.Discovery.ComputeNode.Cluster (Discovery)

Element properties:

TargetMicrosoft.HPC.2008.ComputeNode
EnabledTrue
Frequency86400
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:
Discovered relationships and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.TimedScript.DiscoveryProvider Default

Source Code:

<Discovery ID="Microsoft.HPC.2008.Discovery.ComputeNode.Cluster" Enabled="true" Target="Microsoft.HPC.2008.ComputeNode" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Microsoft.HPC.2008.Cluster">
<Property TypeID="HPCLibrary!Microsoft.HPC.Cluster" PropertyID="ClusterName"/>
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
</DiscoveryClass>
<DiscoveryRelationship TypeID="Microsoft.HPC.2008.ClusterContainsComputeNode"/>
<DiscoveryRelationship TypeID="Microsoft.HPC.2008.ClusterContainsHPCServer"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
<IntervalSeconds>86400</IntervalSeconds>
<SyncTime/>
<ScriptName>GetClusterFromComputeNode.vbs</ScriptName>
<Arguments>$MPElement$ $Target/Id$</Arguments>
<ScriptBody><Script>Option Explicit
SetLocale("en-us")

Main

Sub Main
Dim args : Set args = WScript.Arguments
If args.Count &lt; 2 Then
WScript.Quit -1
End If

Dim sourceId, managedEntityId
sourceId = args(0)
managedEntityId = args(1)

Dim momApi : Set momApi = CreateObject("MOM.ScriptAPI")
Dim data : Set data = momApi.CreateDiscoveryData(0, sourceId, managedEntityId)

Dim cluster : Set cluster = data.CreateClassInstance("$MPElement[Name='Microsoft.HPC.2008.Cluster']$")
Call cluster.AddProperty("$MPElement[Name='HPCLibrary!Microsoft.HPC.Cluster']/ClusterName$", "$Target/Property[Type='Microsoft.HPC.2008.ComputeNode']/ClusterName$")
Call cluster.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "$Target/Property[Type='Microsoft.HPC.2008.ComputeNode']/ClusterName$")
Call data.AddInstance(cluster)

Dim node : Set node = data.CreateClassInstance("$MPElement[Name='Microsoft.HPC.2008.ComputeNode']$")
Call node.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", "$Target/Host/Property[Type='Windows!Microsoft.Windows.Computer']/PrincipalName$")

Dim relation1 : Set relation1 = data.CreateRelationshipInstance("$MPElement[Name='Microsoft.HPC.2008.ClusterContainsComputeNode']$")
relation1.Source = cluster
relation1.Target = node
Call data.AddInstance(relation1)

Dim server : Set server = data.CreateClassInstance("$MPElement[Name='Microsoft.HPC.2008.HPCServer']$")
Call server.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", "$Target/Host/Property[Type='Windows!Microsoft.Windows.Computer']/PrincipalName$")

Dim relation2 : Set relation2 = data.CreateRelationshipInstance("$MPElement[Name='Microsoft.HPC.2008.ClusterContainsHPCServer']$")
relation2.Source = cluster
relation2.Target = server
Call data.AddInstance(relation2)

Call momApi.Return(data)
End Sub
</Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
</DataSource>
</Discovery>