Appendix 2: Creating a Node XML File

Applies To: Windows HPC Server 2008

A node XML file contains a list of compute nodes that you want to add to your cluster. This list includes:

  • When adding compute nodes from bare metal, a hardware identification parameter for each compute node, such as the System Management BIOS (SMBIOS) GUID or the Media Access Control address (MAC) address.

  • When adding preconfigured nodes that are already running one of the 64-bit editions of the Windows Server 2008 operating system, and HPC Pack 2008 has been installed, a computer name for identification purposes.

  • Other properties, such as the physical location of each compute node and the Windows product key that should be used to activate the operating system.

Benefits of using a node XML file for deployment

The following list outlines some of the benefits of using a node XML file when adding compute nodes to your cluster:

  • You can pre-stage a PXE deployment of compute nodes for your HPC cluster by importing a node XML file with a list of all the computers that you will be adding to the cluster. The compute nodes can be deployed both from bare metal or as preconfigured nodes.

  • Preconfigured nodes that are added to your HPC cluster using a node XML file do not need to be manually approved into the cluster. This makes the deployment process more efficient and streamlined.

  • Importing a node XML file is a simple and efficient way for you to associate properties with compute nodes. Examples of properties that can be associated with compute nodes are: location (including data center, rack, and chassis), a Windows product key, node templates, or tags that are used to automatically create node groups.

  • You can give specific computer names (NetBIOS names) to compute nodes that are deployed from bare metal, without having to worry about powering them on in a specific order. Using a node XML file, computer names will already be associated with a specific SMBIOS GUID or MAC address (or both).

The node XML file schema

The node XML file is based on an XML Schema Definition (XSD) language file: NodeConfigurationFile.xsd. This XSD file is available on the head node, in the Bin folder of the installation path for HPC Pack 2008. For example, if you are using the default installation path, the XSD file is available here:

C:\Program Files\Microsoft HPC Pack\Bin\NodeConfigurationFile.xsd

The following table lists and describes the attributes and elements that are defined in the node XML file schema:

Attribute, Element, or Element:Attribute Required Description

Location

No

  • Optional element.

  • Contains attributes with information about the location of the compute node.

Location:DataCenter

No

  • Optional attribute of the Location element.

  • Specifies the name of the data center where the compute node is located.

Location:Rack

No

  • Optional attribute of the Location element.

  • Specifies the name or number of the server rack where the compute node is located.

Location:Chassis

No

  • Optional attribute of the Location element.

  • Specifies the name or number of the chassis that is used for the compute node.

Template

No

  • Optional element.

  • This element is required when deploying compute nodes from bare metal.

  • Contains attributes with information about the node template that will be used to deploy the compute node.

Template:Name

Yes

  • Required attribute of the Template element.

  • This attribute is required only when a Template element is included.

  • Specifies the name of the node template that will be used to deploy the compute node.

  • If the specified node template name does not exist on the head node, the deployment will fail.

  • If you are deploying compute nodes from bare metal, this attribute must specify the name of a node template that includes a step to deploy an operating system image, or your deployment will fail.

Template:Provisioned

No

  • Optional attribute of the Template element.

  • Specifies if the node is a preconfigured node (Provisioned=“true”, or Provisioned=“1”), or not (Provisioned=“false”, or Provisioned=“0”).

  • If this attribute is not specified, the node is not considered a preconfigured node, and the node template will be applied to the node when the node is added to the cluster.

  • If Provisioned=“true”, or Provisioned=“1” is specified, the node template will not be applied to the node when the node is added to the cluster, but the node will be imported with that node template associated with it.

  • If Provisioned=“false”, or Provisioned=“0” is specified, the node template will be applied to the node when the node is added to the cluster.

  • If you are deploying compute nodes from bare metal, this attribute must be Provisioned=“false”, Provisioned=“0”, or must not be specified. Also, the node template must include a step to deploy an operating system image.

MacAddress

No

  • Optional element.

  • Specifies the MAC address of the network adapter that will be used by the compute node.

  • If you are deploying compute nodes from bare metal, you must specify this element or the MachineGuid parameter, or the deployment will fail. You must also specify this element if the cluster nodes in your system have SMBIOS GUIDs that are not unique (that is, two or more nodes in the node XML file have the same value for the MachineGuid parameter).

  • There can be multiple instances of this element, if the compute node uses more than one adapter.

  • Ensure that you specify only those MAC addresses that exist in the compute node. Specifying a MAC address that does not exist in a compute node, might cause the import of that node to fail.

ImportantImportant
When you specify a MAC address in the node XML file, do not include any blank spaces, colons (“:”), hyphens (“-”), or dots (“.”). Include only the twelve hexadecimal digits for the MAC address. For example, the following MAC address is correctly specified: 00301B445F02.

Tag

No

  • Optional element.

  • Specifies the name of the node group to which the compute node should be added during deployment.

  • There can be multiple instances of this element, if the compute node should be added to more than one node group.

Name

Yes

  • Required attribute.

  • Specifies the computer name (NetBIOS name) of the compute node.

  • If you are deploying compute nodes from bare metal, this attribute specifies the computer name that will be assigned to the node during deployment.

  • If you are deploying preconfigured nodes, this attribute specifies the current computer name of the compute node.

  • If the specified name is that of a preconfigured node that has already been added to the cluster (that is, it is not in the Unknown state), the node XML file will fail to import.

Domain

No

  • Optional attribute.

  • Specifies the Active Directory® domain to which the compute node should be added.

  • If this attribute is not specified, the Active Directory domain of the head node is used.

ManagementIpAddress

No

  • Optional attribute.

  • Specifies information that is required for the integration of scriptable power control tools like Intelligent Platform Management Interface (IPMI) scripts.

  • You only need to specify this attribute if you are using scriptable power control tools to manage power on your cluster.

MachineGuid

No

  • Optional attribute.

  • Specifies the SMBIOS GUID of the computer where the compute node is deployed.

  • If you are deploying compute nodes from bare metal, you must specify this parameter or the MacAddress element, or the node XML file will fail to import.

ProductKey

No

  • Optional attribute.

  • Specifies the Windows product key that will be used to activate the operating system on the compute node.

  • The product key is used during the activation task of a node template that includes a step to deploy an operating system image.

  • The product key that you specify must match the edition of the operating system in the image that is used by the node template.

Important

You must specify a Windows product key if you are using an operating system image of a retail version of Windows Server 2008, or the evaluation version of Windows Server 2008 HPC Edition.

Creating a node XML file for deployment from bare metal

The node XML file can be created in any XML editor or text editor, but it must follow the node XML file schema. Also, a node XML file can be created from an HPC cluster that is already configured, by exporting it from HPC Cluster Manager.

When creating a node XML file for a deployment from bare metal, you will need a hardware identification parameter for each compute node. This parameter can be the SMBIOS GUID or the MAC address of the computer.

When creating a node XML file for deployment from bare metal:

  • Specify the MAC address of a compute node in the MacAddress attribute for that compute node.

  • Specify the SMBIOS GUID of a compute node in the MachineGuid attribute for that compute node.

  • If both the SMBIOS GUID and MAC address of a compute node are specified, the SMBIOS GUID is used.

  • If for some reason you do not have access to the SMBIOS GUID of a node, you can use only the MAC address.

  • Ensure that you specify only those MAC addresses that exist in each compute node. Specifying a MAC address that does not exist in a compute node, might cause the import of that node to fail.

  • You must specify a node template for each compute node listed, and that node template must include a step to deploy an operating system image. If yosu do not specify a node template or if you specify a node template that does not include a step to deploy an operating system image, the deployment will fail.

  • Ensure that the node template names that are specified in the node XML file match the names of the node templates listed on the head node.

  • Specify any location information that you want to be attached to the node.

  • If you want nodes to be automatically added to specific node groups during deployment, specify the Tag attribute with the name of the node group for each compute node.

  • You must include a Windows product key if you are using an operating system image of a retail version of Windows Server 2008, or the evaluation version of Windows Server 2008 HPC Edition

  • If your integration of scriptable power control tools requires a BMC IP address for each compute node, it can be added to the node XML file.

Sample node XML file

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<Nodes xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns="https://schemas.microsoft.com/HpcNodeConfigurationFile/2007/12">
  <Node
    Name="ComputeNodeName1"
    Domain="CONTOSO"
    MachineGuid="{4c4c4544-0038-5710-804b-c6c04f464331}">
    <Location
      DataCenter="Data Center 1"
      Rack="2"
      Chassis="1" />
    <Template
      Name="Default ComputeNode Template" Provisioned="true" />
    <MacAddress>00301B445F02</MacAddress>
    <MacAddress>001B2104EDF5</MacAddress>
    <Tag>ComputeNodes</Tag>
    <Tag>Rack2</Tag>
  </Node>
  </Nodes>