The software included in the CSM product stream is released in more than one way. The initial product release may be augmented with patches, documentation updates, or hotfixes after the release.
The CSM documentation is included within the CSM product release tarball inside the docs-csm
RPM.
After the RPM has been installed, the documentation will be available at /usr/share/doc/csm
.
Acquire a CSM software release tarball for installation on the HPE Cray EX supercomputer.
The following procedure should work on any Linux system. If directed here from another procedure, then that source procedure should indicate on which system the CSM release should be downloaded and extracted.
(linux#
) Set the ENDPOINT
variable to the URL of the server hosting the CSM tarball.
ENDPOINT=URL_SERVER_Hosting_tarball
(linux#
) Set the CSM_RELEASE
variable to the version of CSM software to be downloaded.
CSM_RELEASE=x.y.z
(linux#
) Download the CSM software release tarball.
NOTE: CSM does NOT support the use of proxy servers for anything other than downloading artifacts from external endpoints. Using
http_proxy
orhttps_proxy
in any way other than the following examples will cause many failures in subsequent steps.
Without proxy:
wget "${ENDPOINT}/csm-${CSM_RELEASE}.tar.gz"
With HTTPS proxy:
https_proxy=https://example.proxy.net:443 wget "${ENDPOINT}/csm-${CSM_RELEASE}.tar.gz"
With HTTP proxy:
http_proxy=http://example.proxy.net:80 wget "${ENDPOINT}/csm-${CSM_RELEASE}.tar.gz"
(linux#
) Extract the release distribution.
tar -xzvf "csm-${CSM_RELEASE}.tar.gz"
(linux#
) Only for CSM 1.3.2: Update canu
RPM.
NOTE this package provides a network device configuration and firmware utility.
cp -v csm-${CSM_RELEASE}/rpm/cray/csm/sle-15sp4/x86_64/canu-*.rpm csm-${CSM_RELEASE}/rpm/cray/csm/sle-15sp3/x86_64
Before using this software release, check for any patches available for it.
If patches are available, see Apply patch to CSM release.
Apply a CSM update patch to the expanded CSM release tarball, and then create a new tarball which contains the patched release. This ensures that the latest CSM product artifacts are installed on the HPE Cray EX supercomputer.
The following requirements must be met on the system where the procedure is being followed.
The expanded CSM release tarball is present.
Because the patch is applied to the expanded CSM release tarball, it is simplest to perform this procedure on the same system where the Download and extract CSM product release procedure was followed.
(linux#
) Git version 2.16.5
or higher must be installed.
git version
Example output:
git version 2.26.2
If the Git version is less than 2.16.15
, then update Git to at least that version.
(linux#
) Set the ENDPOINT
variable to the URL of the server hosting the CSM patch file.
ENDPOINT=URL_SERVER_Hosting_patch
(linux#
) Set the CSM_RELEASE
variable to the version of CSM software to be patched.
CSM_RELEASE=x.y.z
(linux#
) Set the PATCH_RELEASE
variable to the version of CSM patch.
PATCH_RELEASE=x.z.a
(linux#
) Download the compressed CSM software package patch file.
The file name will be of the form csm-x.y.z-x.z.a.patch.gz
.
Be sure to modify the following example with the appropriate values.
NOTE: CSM does NOT support the use of proxy servers for anything other than downloading artifacts from external endpoints. Using
http_proxy
orhttps_proxy
in any way other than the following examples will cause many failures in subsequent steps.
Without proxy:
wget "${ENDPOINT}/csm-${CSM_RELEASE}-${PATCH_RELEASE}.patch.gz"
With HTTPS proxy:
https_proxy=https://example.proxy.net:443 wget "${ENDPOINT}/csm-${CSM_RELEASE}-${PATCH_RELEASE}.patch.gz"
With HTTP proxy:
http_proxy=http://example.proxy.net:80 wget "${ENDPOINT}/csm-${CSM_RELEASE}-${PATCH_RELEASE}.patch.gz"
(linux#
) Uncompress the patch.
gunzip -v "csm-${CSM_RELEASE}-${PATCH_RELEASE}.patch.gz"
(linux#
) Apply the patch.
git apply -p2 --whitespace=nowarn --directory="csm-${CSM_RELEASE}" "csm-${CSM_RELEASE}-${PATCH_RELEASE}.patch"
(linux#
) Set a variable to reflect the new version.
NEW_CSM_RELEASE="$(./csm-${CSM_RELEASE}/lib/version.sh)"
(linux#
) Update the name of the CSM release distribution directory.
mv -v "csm-${CSM_RELEASE}" "csm-${NEW_CSM_RELEASE}"
(linux#
) Create a tarball from the patched release distribution.
tar -cvzf "csm-${NEW_CSM_RELEASE}.tar.gz" "csm-${NEW_CSM_RELEASE}/"
This tarball can now be used in place of the original CSM software release tarball.
Acquire the latest documentation RPM. This may include updates, corrections, and enhancements that were not available until after the software release.
NOTE: CSM does NOT support the use of proxy servers for anything other than downloading artifacts from external endpoints. Using http proxies in any way other than the following examples will cause many failures in subsequent steps.
(linux#
) Check the version of the currently installed CSM documentation and CSM library.
rpm -q docs-csm libcsm
(linux#
) Set the CSM_RELEASE
variable to the installed version of CSM.
CSM_RELEASE=x.y.z
(linux#
) Download and upgrade the latest documentation RPM and CSM library.
Without proxy:
wget "https://release.algol60.net/$(awk -F. '{print "csm-"$1"."$2}' <<< ${CSM_RELEASE})/docs-csm/docs-csm-latest.noarch.rpm" -O /root/docs-csm-latest.noarch.rpm
wget "https://release.algol60.net/lib/sle-$(awk -F= '/VERSION=/{gsub(/["-]/, "") ; print tolower($NF)}' /etc/os-release)/libcsm-latest.noarch.rpm" -O /root/libcsm-latest.noarch.rpm
With HTTPS proxy:
https_proxy=https://example.proxy.net:443 wget "https://release.algol60.net/$(awk -F. '{print "csm-"$1"."$2}' <<< ${CSM_RELEASE})/docs-csm/docs-csm-latest.noarch.rpm" \
-O /root/docs-csm-latest.noarch.rpm
https_proxy=https://example.proxy.net:443 wget "https://release.algol60.net/lib/sle-$(awk -F= '/VERSION=/{gsub(/["-]/, "") ; print tolower($NF)}' /etc/os-release)/libcsm-latest.noarch.rpm" \
-O /root/libcsm-latest.noarch.rpm
If this machine does not have direct internet access, then this RPM will need to be externally downloaded and copied to the system.
If the node receiving libcsm
is reachable, use this to resolve the SLES version:
SLES_VERSION=$(ssh ncn-m001 'awk -F= '\''/VERSION=/{gsub(/["-]/, "") ; print tolower($NF)}'\'' /etc/os-release')
If the node receiving libcsm
is unreachable, set the SLES version of that node by hand:
SLES_VERSION=15sp4
curl -O "https://release.algol60.net/$(awk -F. '{print "csm-"$1"."$2}' <<< ${CSM_RELEASE})/docs-csm/docs-csm-latest.noarch.rpm"
curl -O "https://release.algol60.net/lib/sle-${SLES_VERSION}/libcsm-latest.noarch.rpm"
scp docs-csm-latest.noarch.rpm libcsm-latest.noarch.rpm ncn-m001:/root
ssh ncn-m001
(linux#
) Install the documentation RPM and CSM library.
rpm -Uvh --force /root/docs-csm-latest.noarch.rpm /root/libcsm-latest.noarch.rpm
Repeat the first step in this procedure to display the version of the CSM documentation after the update.
Collect all available field notices about hotfixes which should be applied to this CSM software release. Check with HPE Cray service for more information.