The Hardware State Manager (HSM) contains several pre-defined roles and subroles that can be assigned to components and used to target specific hardware devices.
Roles and subroles assignments come from the System Layout Service (SLS) and are applied by HSM when a node is discovered.
The following is a list of all pre-defined roles:
Management
Compute
Application
Service
System
Storage
The Management
role refers to NCNs and will generally have the Master
, Worker
, or Storage
subrole assigned.
The Compute
role generally refers to compute nodes.
The Application
role is used for more specific node uses and will generally have the UAN
, LNETRouter
, Visualization
, Gateway
, or UserDefined
subrole assigned.
The following is a list of all pre-defined subroles:
Worker
Master
Storage
UAN
Gateway
LNETRouter
Visualization
UserDefined
The Master
, Worker
, and Storage
subroles are generally used with the Management
role to indicate NCN types.
The UAN
, LNETRouter
, Visualization
, Gateway
, and UserDefined
subroles are generally used with the Application
role to indicate specific use nodes.
Custom roles and subroles can also be created and added to the HSM. New roles or subroles can be added anytime after SMD has been deployed.
To add new roles, add them to the cray-hms-base-config
ConfigMap under data.hms_config.json.HMSExtendedDefinitions.Role
.
To add new subroles, add them to the cray-hms-base-config
ConfigMap under data.hms_config.json.HMSExtendedDefinitions.SubRole
.
Edit the ConfigMap with the following command:
ncn-mw# kubectl edit configmap -n services cray-hms-base-config
data:
hms_config.json: |-
{
"HMSExtendedDefinitions":{
"Role":[
"Compute",
"Service",
"System",
"Application",
"Storage",
"Management"
],
"SubRole":[
"Worker",
"Master",
"Storage",
"UAN",
"Gateway",
"LNETRouter",
"Visualization",
"UserDefined"
]
}
}
Deleting roles/subroles from this list will also remove them from HSM. However, deleting any of the pre-defined roles or subroles will have no effect.