CSM includes a playbook that should be applied to Compute and Application node images.
Among other things, the csm_packages.yml playbook installs the packages for both the
CFS state reporter and the BOS reporter.
These packages are necessary for CFS and
BOS to operate on a node, so a configuration layer containing the
playbook must be included in the image customization for any nodes that are expected to be
managed with CFS and BOS.
To setup the compute configuration layer, first gather the following information:
| Field | Value | Description |
|---|---|---|
clone_url |
https://api-gw-service-nmn.local/vcs/cray/csm-config-management.git |
CSM configuration repository |
commit |
Example: 5081c1ecea56002df41218ee39f6030c3eebdf27 |
CSM configuration commit hash |
name |
Example: csm-<version> |
CSM configuration layer name |
playbook |
compute_nodes.yml |
Default Ansible playbook for CSM configuration of compute nodes |
(ncn-mw#) Retrieve the commit in the repository to use for configuration.
If changes have been made to the default branch that was imported during a CSM installation or upgrade, use the commit containing the changes.
If no changes have been made, the latest commit on the default branch for
this version of CSM should be used. Find the commit in the
cray-product-catalog for the current version of CSM.
(ncn-mw#) For example:
kubectl -n services get cm cray-product-catalog -o jsonpath='{.data.csm}'
Part of the output will be a section resembling the following:
1.2.0:
configuration:
clone_url: https://vcs.cmn.SYSTEM_DOMAIN_NAME/vcs/cray/csm-config-management.git
commit: 43ecfa8236bed625b54325ebb70916f55884b3a4
import_branch: cray/csm/1.9.24
import_date: 2021-07-28 03:26:01.869501
ssh_url: git@vcs.cmn.SYSTEM_DOMAIN_NAME:cray/csm-config-management.git
The commit will be different for each system and version of CSM. In the above
example, it is 43ecfa8236bed625b54325ebb70916f55884b3a4.
Craft a new configuration layer entry for CSM.
Use the procedure in Update a CFS Configuration.
The following is an example entry for the JSON configuration file:
{
"name": "csm-<version>",
"clone_url": "https://api-gw-service-nmn.local/vcs/cray/csm-config-management.git",
"playbook": "csm_packages.yml",
"commit": "<retrieved git commit>"
}