This procedure will use configuration from System Layout Service (SLS) to set up the proper routing for all air-cooled and liquid-cooled cabinets present in the system on each of the Management NCNs.
-
Passwordless SSH to all of the management NCNs is configured.
-
(
ncn-m001#
) Ensure that Cray Site Init (CSI) is installed and available.csi version
If the
csi
command is not available, then install it:-
Ensure the
csm-sle-15sp2
RPM repository has been added toncn-m001
.zypper lr csm-sle-15sp2
Expected output:
Alias : csm-sle-15sp2 Name : CSM SLE 15 SP2 Packages (added by Ansible) URI : https://packages.local/repository/csm-sle-15sp2 Enabled : Yes GPG Check : ( p) Yes Priority : 99 (default priority) Autorefresh : On Keep Packages : Off Type : rpm-md GPG Key URI : Path Prefix : Parent Service : Keywords : --- Repo Info Path : /etc/zypp/repos.d/csm-sle-15sp2.repo MD Cache Path : /var/cache/zypp/raw/csm-sle-15sp2
-
If the
csm-sle-15sp2
repository is not present, then add it.zypper addrepo -fG https://packages.local/repository/csm-sle-15sp2 csm-sle-15sp2
-
Install Cray Site Init.
zypper install cray-site-init
-
-
(
ncn-m001#
) Get an API token.export TOKEN=$(curl -s -S -d grant_type=client_credentials \ -d client_id=admin-client \ -d client_secret=`kubectl get secrets admin-client-auth -o jsonpath='{.data.client-secret}' | base64 -d` \ https://api-gw-service-nmn.local/keycloak/realms/shasta/protocol/openid-connect/token | jq -r '.access_token')
-
(
ncn-m001#
) Add cabinet routes to each of the management NCNs using data from SLS./usr/share/doc/csm/scripts/operations/node_management/update-ncn-cabinet-routes.sh
If the following message appears, then the route being added is already present on the NCN and can be safely ignored.
RTNETLINK answers: File exists
-
(
ncn-m001#
) Create payload to update thecloud-init
user data for management NCNs in BSS to contain the updated cabinet route information.cat <<EOF >write-files-user-data.json { "user-data": { "write_files": [{ "content": $(jq -n --rawfile file /etc/sysconfig/network/ifroute-bond0.nmn0 '$file'), "owner": "root:root", "path": "/etc/sysconfig/network/ifroute-bond0.nmn0", "permissions": "0644" }, { "content": $(jq -n --rawfile file /etc/sysconfig/network/ifroute-bond0.hmn0 '$file'), "owner": "root:root", "path": "/etc/sysconfig/network/ifroute-bond0.hmn0", "permissions": "0644" } ] } } EOF
-
(
ncn-m001#
) Update BSScloud-init
user data for the management NCNs.ncn_xnames=$(curl -s -k -H "Authorization: Bearer ${TOKEN}" "https://api-gw-service-nmn.local/apis/sls/v1/search/hardware?extra_properties.Role=Management" | jq -r '.[] | .Xname' | sort) for ncn in $ncn_xnames; do echo "Updating BSS for $ncn" csi handoff bss-update-cloud-init --user-data=write-files-user-data.json --limit=${ncn} done