Setting node personalities

The Cloud Pak for Data System nodes can be assigned different roles and labels. You can manage node personality and its state by using the ap node command.

About this task

Node personality is a combination of its role and label (if available) in the system.

The following roles are available:
  • Control
  • Worker
  • Unset - the role is not set yet
  • Assigning - the node role is in transition
  • VDB - a dedicated node for Netezza® Performance Server, not managed by Platform Manager
  • DB2WH - a dedicated node for Db2 Warehouse SMP
Labels can be assigned to worker nodes. They can be used by Cloud Pak for Data to determine which application to run on a node. Labels can be:
  • An empty string, indicating that no label was assigned, and the node can run any service or application.
  • A text label, indicating that the node can only run the elements of the application which match the specified label.
A node personality can be changed, but not all transitions are allowed. For example, the three control nodes and the first three worker nodes have a fixed personality which cannot be changed. If a node's personality is not fixed, you can assign any other role.

When you use the ap node set_personality <node-name> unset command, the node (VM) is removed from the OpenShift cluster. Bare-metal node will exist in the cluster but as an UNSET node.

Note:
  1. When changing a node personality, you must always set the role to Unset first, and then to the selected role.
  2. Known issue in versions prior to 1.0.5.1: When you try to remove a worker node using the ap node set_personality <node-name> unset command, you must also remove that node from the OpenShift cluster using the oc delete node <node-name> command.
  3. For versions prior to 1.0.5.1, a node must be in a disabled state before you can change its personality.

After the initial installation, depending on the size of your system, there are three control nodes, three worker nodes, and at least two nodes which are enabled but have no personality set.

When you expand your system, the expansion nodes are initially disabled, and they have no personality set. You must at least enable the node so that it is monitored.

To change the personality to all roles different than VDB, the node can be enabled or disabled. When you want to set the role of the node to VDB, you must disable the node first.

The personality of a node can be changed if the node is in disabled state, however, its drives must be enabled. To bypass the drive state check, you can use the --ignore_drive_state. If passed, personality change occurs even if the drives linked to the node are not enabled.

For nodes in DB2WH role, you can define the storage class to be used. By default, Portworx is used. To change the default setting use the --storage_class option. Two options are available:
  • --storage_class hostpath
  • --storage_class portworx

Follow the steps below to change a node personality:

Procedure

  1. Run ap node to verify the information on all the nodes in the system.
  2. For VDB role, and for all other roles in versions prior to 1.0.5.1 : Ensure that the node you want to set the personality for is disabled. If not, run ap node disable <node> command.
  3. Ensure the node personality is Unset. If not, run ap node set_personality <node> Unset. It might take several minutes to change the role to Unset.
  4. Run the following command to set the personality of your choice: ap node set_personality <node> <personality>. The personality value is provided as <roleX>, or <roleX>[<labelX>]. The latter should be used only when the label is not blank.

    If the command fails, an alert is open. You can verify that the command ran successfully by running the ap node command.

    For versions prior to 1.0.5.1: After a personality change, the node is in a DISABLED state. Enable the node by running ap node enable <node>

Changing personality for multiple nodes

About this task

It is possible to change the personality of multiple nodes at once. It may result in shorter execution time required to perform the change. If you want to change the personality of many nodes at once, you must specify a common role to all the nodes. You specify the nodes in a comma-separated list.

Example:
ap node set_personality enclosure2.node3,enclosure2.node4 worker