Get-HpcNode

Gets a list of one or more nodes in the HPC cluster that meet the specified criteria.

Syntax

Copy Code
Parameter Set: Default

Get-HpcNode [[-Name] <String[]> ] [-Group <HpcGroup> ] [-GroupName <String[]> ] [-Health <NodeHealth[]> ] [-HealthState {<OK> | <Warning> | <Error> | <Transitional> | <Unapproved>} ] [-Location <String[]> ] [-Scheduler <String> ] [-State {<Unknown> | <Provisioning> | <Offline> | <Starting> | <Online> | <Draining> | <Rejected> | <Removing>} ] [-TemplateName <String[]> ] [ <CommonParameters>]


Detailed Description

Gets a list of one or more nodes in the HPC cluster that meet the specified criteria for name, group, location, node template, node health, or node state.

Parameters

-Group<HpcGroup>

Specifies the HpcGroup object for the node group that contains the nodes that you want to get.


Aliases

none

Required?

false

Position?

named

Default Value

no default

Accept Pipeline Input?

true (ByValue)

Accept Wildcard Characters?

false

-GroupName<String[]>

Specifies a list of names for the node groups that contain the nodes that you want to get. The cmdlet gets nodes only once if they belong to multiple groups.


Aliases

none

Required?

false

Position?

named

Default Value

no default

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Health<NodeHealth[]>

Specifies a list of the health values for the nodes that you want to get. The cmdlet gets the nodes that have a health value that matches any value on the list. The possible values for the Health parameter are OK, Unreachable, OngoingOperation, DiagnosticFailed, and ProvisioningFailed.


Aliases

none

Required?

false

Position?

named

Default Value

the combination of all health values

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Location<String[]>

Specifies a list of one or more locations for the nodes that you want to get. A location is a string with a format of \<DataCenter>[\<Rack>[\<Chassis>]]. The cmdlet gets the nodes that have a location that matches any location on the list.

The location must begin with a backslash (\). If you include the <Rack> or secondary location part of the string, you must also include the <DataCenter> or primary location. If you include the <Chassis> or tertiary location part of the string, you must also specify the <Rack> or secondary location plus the <DataCenter> or primary location. Each part of the string has a maximum length of 256 characters.

If you specify only the <DataCenter> or primary location part of the location, the cmdlet gets all of the nodes that have the specified <DataCenter> or primary location, regardless of their <Rack> or secondary location and <Chassis> or tertiary location values. If you specify only the <DataCenter> or primary location and the <Rack> or secondary location, the cmdlet gets all of the nodes that have the specified <DataCenter> or primary location and the specified <Rack> or secondary location, regardless of their <Chassis> or tertiary location values.

This parameter is supported only for Windows HPC Server 2008 R2.


Aliases

none

Required?

false

Position?

named

Default Value

no default

Accept Pipeline Input?

false

Accept Wildcard Characters?

true

-Name<String[]>

Specifies a list of one or more names for the nodes that you want to get.


Aliases

none

Required?

false

Position?

1

Default Value

no default

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-HealthState<NodeHealthState[]>

Specifies a list of one or more node health values for the nodes that you want to get. The cmdlet gets the nodes that have a node health values that matches any value in the list.

This parameter is supported only for Windows HPC Server 2008 R2.


The acceptable values for this parameter are:

OK

The HPC services are not aware of any problems with the node.

Warning

One or more diagnostic tests on the node produced a result of Failure or Failed to Run, or one or more node operations are in the Failed, Reverted, or Canceled state.

Error

The node is not reachable as determined by the settings of the heartbeat options, provisioning failed for the node, or the node was rejected by a cluster administrator.

Transitional

The node is performing an operation that a cluster administrator initiated, such as assigning a node template to the node, reimaging the node, maintaining the node, bringing the node online, or taking the node offline.

Unapproved

The node has been detected by the head node, but it is not part of the cluster. Assign a node template to join the node to the cluster.



Aliases

none

Required?

false

Position?

named

Default Value

the combination of all health state values

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Scheduler<String>

Specifies the host name or IP address of the head node for the cluster that includes the nodes. The value must be a valid computer name or IP address. If you do not specify the Scheduler parameter, this cmdlet uses the scheduler on the head node that the CCP_SCHEDULER environment variable specifies. To set this environment variable, run the following cmdlet:

Set-Content Env:CCP_SCHEDULER <head_node_name>


Aliases

none

Required?

false

Position?

named

Default Value

%CCP_SCHEDULER%

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-State<ClusterNodeState[]>

Specifies the states of the nodes that you want to get. The state of a node reflects the deployment state of the node and whether or not an administrator wants the node to be available as a resource for cluster jobs. The cmdlet gets the nodes that have a state that matches any value in the list.


The acceptable values for this parameter are:

Unknown

Indicates that the node is not part of the cluster or that a provisioning operation has failed on that node. To join a node to the cluster, apply the Assign Node Template action to the node. In a high availability cluster, after setup is run on the first head node, the second head node will be in the Unknown state until setup is run on that node. After setup, the second head node moves to the Online state.

Provisioning

Indicates that the node is being configured as a cluster node. The Assign Node Template, Reimage, and Maintain actions also put a node into the provisioning state. After provisioning is complete, the node goes to the Offline state.

Offline

Allows a cluster administrator to run scripts, install software, and perform other tasks on the node. This state is the default state of a compute or WCF broker node after a cluster administrator has approved the node for inclusion in the cluster. This state is also the default state for a head node (unless it is installed for high availability). If a node is taken offline while running jobs, it first moves through the Draining state. If an administrator chooses to force the node offline immediately, any running tasks will be canceled and requeued within their job.

Starting

Indicates that the node is transitioning from the Offline mode to the Online mode.

Online

Indicates that the node should accept and run cluster jobs. The HPC Job Scheduler Service will try to start new jobs only on nodes that are in the Online state. A node must be in the Online node state and healthy to run jobs. If the node health is Error, jobs will not be able to start on that node.

Draining

Indicates that the compute node has been taken offline, and it is transitioning to the Offline state. The node completes currently running jobs before going to the Offline state. Draining nodes do not accept new jobs.

Rejected

Indicates that the node was rejected by a cluster administrator.

Removing

Indicates that information about the node is being removed from the HPC Node Management Services database on the head node. The Delete action puts a node into this state. Nothing is changed on the deleted node itself. If the node tries to rejoin the cluster, a new entry will be created for that node in the database, and the node will appear in the Unknown state.



Aliases

none

Required?

false

Position?

named

Default Value

the combination of all state values

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-TemplateName<String[]>

Specifies a list of names for the node templates that are associated with the nodes that you want to get.


Aliases

none

Required?

false

Position?

named

Default Value

no default

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see about_CommonParameters

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

  • An HpcGroup object

Outputs

The output type is the type of the objects that the cmdlet emits.

  • One or more HpcNode objects

Notes

  • When you provision nodes from bare metal in Windows HPC Server 2008 R2, the nodes are not assigned to any node groups until provisioning is complete.

  • You must be a cluster administrator to run this cmdlet successfully.

Examples

EXAMPLE 1

Gets all compute nodes that use the node template named ApplicationA. You can set up nodes to have a particular node template when you provision the nodes for a particular application.


  Copy Code
Get-HpcNode -TemplateName "ApplicationA"

EXAMPLE 2

Gets all healthy nodes.


  Copy Code
Get-HpcNode -HealthState OK

EXAMPLE 3

Gets all of the nodes that have a state of Offline or Rejected.


  Copy Code
Get-HpcNode -State Offline,Rejected

EXAMPLE 4

Gets all of the nodes that are located in data center 1, regardless of their rack or chassis locations.


  Copy Code
Get-HpcNode -Location "\datacenter1"

Related topics