Appendix 2: Creating a Node XML File

Applies To: Microsoft HPC Pack 2008 R2, Microsoft HPC Pack 2012, Microsoft HPC Pack 2012 R2, Windows HPC Server 2008 R2

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

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

  • When adding preconfigured nodes that are already running one of the supported versions of the Windows operating system, and Microsoft® HPC Pack has been installed, a computer name for identification purposes.

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

This section includes the following topics:

  • Benefits of using a node XML file for deployment

  • The node XML file schema

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 nodes to your cluster:

  • You can pre-stage a PXE deployment of 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 nodes can be deployed from bare metal or as preconfigured nodes.

  • Preconfigured nodes that are added to your HPC cluster by 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 nodes. Examples of properties that can be associated with nodes are: location, 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 nodes that are deployed from bare metal, without having to worry about powering them on in a specific order. By using a node XML file, computer names will already be associated with a specific SMBIOS GUID or MAC address (or both).

Important

As a best practice for security in an HPC cluster, if you save or export information about an HPC cluster into XML files, we recommend that you track the location of those files and protect them from unauthorized use. For more information, see Security Considerations for File and Folder Permissions in Windows HPC Server 2008 R2.

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. For example, if you are using the default installation path for HPC Pack 2008 R2, the XSD file is available here:

C:\Program Files\Microsoft HPC Pack 2008 R2\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 node.

Location:Primary

No

  • Optional attribute of the Location element.

  • Specifies the name of the primary location (such as the data center) where the node is located.

  • Supersedes the Location:DataCenter attribute in the node XML file schema, which is deprecated.

Location:Secondary

No

  • Optional attribute of the Location element.

  • Specifies the secondary location (such as the name or number of the server rack) where the node is located.

  • Supersedes the Location:Rack attribute in the node XML file schema, which is deprecated.

Location:Tertiary

No

  • Optional attribute of the Location element.

  • Specifies the tertiary location (such as the name or number of the chassis) where the node is located.

  • Supersedes the Location:Chassis attribute in the node XML file schema, which is deprecated.

Template

No

  • Optional element.

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

  • Contains attributes with information about the node template that will be used to deploy the 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 node.

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

  • If you are deploying 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 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 node.

  • If you are deploying 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 node uses more than one adapter.

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

Note

  • 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.

  • By default, HPC Pack expects 6-byte (12 hexadecimal digit) MAC addresses. Starting in HPC Pack 2008 R2 with SP2, you can also specify 8-byte client identifiers for certain network adapters such as those used in InfiniBand networks. To do this, configure a registry setting on the head node under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HPC. Configure the DWORD named TrimLongMACAddresses, and set data to one (1).

    > [!WARNING] > Incorrectly editing the registry may severely damage your system. Before making changes to the registry, you should back up any valued data on the computer. >

Tag

No

  • Optional element.

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

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

Name

Yes

  • Required attribute.

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

  • If you are deploying 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 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 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 scripted power control tools such as Intelligent Platform Management Interface (IPMI) scripts.

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

MachineGuid

No

  • Optional attribute.

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

  • If you are deploying 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 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 created by using a retail version or an evaluation version of a supported Windows Server operating system.

InitiatorIqn

No

  • Optional attribute.

  • If an iSCSI boot node will not be assigned an iSCSI Qualified Name (IQN) by using DHPC or by using an IQN template string, specifies the IQN of the node.

ClientIqnDhcpOption

No

  • Optional attribute.

  • If DHCP will be used to dynamically assign an iSCSI Qualified Name (IQN) to an iSCSI boot node, specifies the ID of the DHCP option to use for the reservation. The DHCP option ID is an integer.

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.

Note

For detailed information, see the content on creating a node XML File.

When creating a node XML file for a deployment from bare metal, you will need a hardware identification parameter for each 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 node in the MacAddress attribute for that node.

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

  • If both the SMBIOS GUID and MAC address of a 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 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 node listed, and that node template must include a step to deploy an operating system image. If you 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 that was created using a retail version or an evaluation version of a supported Windows Server operating system.

  • If your integration of scripted power control tools requires a BMC IP address for each 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="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://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
      Primary="Data Center 1"
      Secondary="2"
      Tertiary="1" />
    <Template
      Name="Default ComputeNode Template" Provisioned="true" />
    <MacAddress>00301B445F02</MacAddress>
    <MacAddress>001B2104EDF5</MacAddress>
    <Tag>ComputeNodes</Tag>
    <Tag>Rack2</Tag>
  </Node>  
  </Nodes>

Additional references