Repurpose a Compute or Service Node

Cray recommends using repurposed compute nodes as tier2 servers. This procedure describes how to repurpose a compute node as a service node (and vice-versa).

When a compute node is configured for a non-compute role, that node is called a repurposed compute node (RCN). Compute nodes can be repurposed to become service nodes for use as tier2 servers (recommended) or in other capacities. However, compute nodes should not be repurposed as service nodes for services that require external connectivity.

This procedure provides steps for repurposing a compute node to become a service node. It can also be used to repurpose a service node as a compute node, to return an RCN to its original compute role, for example. Note that nodes on a service blade must always have the service role.

In the example commands shown, two compute nodes (c0-0c0s2n0 and c0-0c0s2n1) are repurposed as service nodes.

  1. Shut down the compute node to be repurposed, and confirm that it was shut down.
    Skip this step if new hardware is being added. It is not necessary to shut down the newly added nodes. The nodes should already be shut down.
    crayadm@smw> xtcli shutdown c0-0c0s2n0,c0-0c0s2n1
    
    crayadm@smw> xtcli status c0-0c0s2n0,c0-0c0s2n1
    
    The node must be down when using the xtcli mark_node command in the next step.
  2. Mark the compute node as 'service' in the HSS database.
    crayadm@smw> xtcli mark_node service c0-0c0s2n0,c0-0c0s2n1
    
    If repurposing a service node as compute, use the following command instead.
    crayadm@smw> xtcli mark_node compute c0-0c0s2n0,c0-0c0s2n1
    

    Important. Using the xtcli mark_node command to change the node type in the HSS database is considered a hardware change. To keep everything in synch (HSS, NIMS, and IMPS), it must be followed by changing the NIMS parameters of the node, updating the CLE and global config sets, and rebooting the node.

    Important: If running a fresh install, skip the remaining steps in this procedure.
  3. Update the NIMS group for the repurposed node and confirm changes.
    For example, if repurposing x86-64 compute nodes as service nodes, remove the compute group and add the service group.
    crayadm@smw> cnode update -G compute -g service c0-0c0s2n0,c0-0c0s2n1
    
    If repurposing aarch64 compute nodes as service nodes to be used as login nodes, remove the compute_aarch64 group and add the login_aarch64 group.
    Use cnode list to confirm the changes.
    crayadm@smw> cnode list c0-0c0s2n0,c0-0c0s2n1
  4. Update the CLE config set (p0 in the example) and the global config set.
    Whenever a node has been repurposed, it is necessary to update the associated CLE config set and the global config set.
    crayadm@smw> su - root
    smw# cfgset update -m prepare p0
    smw# cfgset update -m prepare global
    
    This ensures that the following file in the global config set directory structure is updated with accurate information:
    /var/opt/cray/imps/config/sets/global/files/node_groups/platforms/p0.platform.json
    
  5. Reboot the repurposed node.
    Skip this step when adding aarch64 nodes until all other steps are performed in the following sections, if these are the first aarch64 nodes being added to the system. The images will not have been built and mapped to these nodes yet.
    smw# exit
    crayadm@smw> xtbootsys --reboot c0-0c0s2n0,c0-0c0s2n1