SAT 2.2.16 was released on February 25th, 2022.
This version of the SAT product included:
sat python package and CLIsat-podman wrapper scriptsat-cfs-install container image and Helm chartIt also added the following new components:
sat-install-utility container imagecfs-config-util container imageThe following sections detail the changes in this release.
sat Command Unavailable in sat bash ShellAfter launching a shell within the SAT container with sat bash, the sat
command will not be found.
((CONTAINER_ID) sat-container#) Here is an example output after running sat status:
bash: sat: command not found
((CONTAINER_ID) sat-container#) This can be resolved temporarily in one of two ways. /sat/venv/bin/ may be
prepended to the $PATH environment variable:
export PATH=/sat/venv/bin:$PATH
sat status
((CONTAINER_ID) sat-container#) Another option is to source the file /sat/venv/bin/activate:
source /sat/venv/bin/activate
sat status
sat bash ShellAfter launching a shell within the SAT container with sat bash, tab completion
for sat commands does not work.
((CONTAINER_ID) sat-container#) This can be resolved temporarily by sourcing the file
/etc/bash_completion.d/sat-completion.bash:
source /etc/bash_completion.d/sat-completion.bash
sat in Root Directorysat commands will not work if the current directory is /.
(ncn-m001#) Here is an example output after running sat --help:
Error: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: open /dev/console: operation not permitted: OCI runtime permission denied error
To resolve, run sat in another directory.
sat in Configuration Directorysat commands will not work if the current directory is ~/.config/sat.
(ncn-m001#) Here is an example output after running sat --help:
Error: /root/.config/sat: duplicate mount destination
To resolve, run sat in another directory.
sat Commandssat bootprep automates the creation of CFS configurations, the build and
customization of IMS images, and the creation of BOS session templates. For
more information, see SAT Bootprep.sat slscheck performs a check for consistency between the System Layout
Service (SLS) and the Hardware State Manager (HSM).sat bmccreds provides a simple interface for interacting with the System
Configuration Service (SCSD) to set BMC Redfish credentials.sat hwhist displays hardware component history by XName (location) or by
its Field-Replaceable Unit ID (FRUID). This command queries the Hardware
State Manager (HSM) API to obtain this information. Since the sat hwhist
command supports querying for the history of a component by its FRUID, the
FRUID of components has been added to the output of sat hwinv.The following automation has been added to the install script, install.sh:
sat-config-import Kubernetes job, which is
started when the sat-cfs-install Helm chart is deployed.ncn-personalization).The SAT product uploads additional information to the cray-product-catalog
Kubernetes ConfigMap detailing the components it provides, including container
(Docker) images, Helm charts, RPMs, and package repositories.
This information is used to support uninstall and downgrade of SAT product versions moving forward.
Beginning with the 2.2 release, SAT now provides partial support for the uninstall and downgrade of the SAT product stream.
For more information, see Uninstall: Remove a Version of SAT and Downgrade: Switch Between SAT Versions.
sat statusA Subrole column has been added to the output of sat status. This allows
easy differentiation between master, worker, and storage nodes in the
management role, for example.
Hostname information from SLS has been added to sat status output.
Support for JSON-formatted output has been added to commands which currently
support the --format option, such as hwinv, status, and showrev.
Many usability improvements have been made to multiple sat commands,
mostly related to filtering command output. The following are some highlights:
--fields option to display only specific fields for subcommands which
display tabular reports.--filter queries
so that the first match is used, similar to --sort-by.--filter, --fields, and --reverse for summaries
displayed by sat hwinv.sat hwinv.The default log level for stderr has been changed from “WARNING” to “INFO”. For
more information, see Update SAT Logging.
With the command-line options --loglevel-stderr and --loglevel-file, the log
level can now be configured separately for stderr and the log file.
The existing --loglevel option is now an alias for the --loglevel-stderr
option.
The Podman wrapper script is the script installed at /usr/bin/sat on the
master management NCNs by the cray-sat-podman RPM that runs the cray-sat
container in podman. The following subsections detail improvements that were
made to the wrapper script in this release.
cray-sat ContainerThe Podman wrapper script that launches the cray-sat container with podman
has been modified to mount the user’s current directory and home directory into
the cray-sat container to provide access to local files in the container.
The man page for the Podman wrapper script, which is accessed by typing man sat on a master management NCN, has been improved to document the following:
Fixed issues with redirecting stdout and stderr, and piping output to
commands, such as awk, less, and more.
A new sat option has been added to configure the HTTP timeout length for
requests to the API gateway. For more information, refer to sat-man sat.
sat bootsys ImprovementsMany improvements and fixes have been made to sat bootsys. The following are
some highlights:
--excluded-ncns option, which can be used to omit NCNs
from the platform-services and ncn-power stages in case they are
inaccessible.sat bootsys shutdown now prompt the user to
continue before proceeding. A new option, --disruptive, will bypass this.platform-services stage of sat bootsys boot.sat xname2nid Improvementssat xname2nid can now recursively expand slot, chassis, and cabinet XNames to
a list of NIDs in those locations.
A new --format option has been added to sat xname2nid. It sets the output
format to either “range” (the default) or “NID”. The “range” format displays NIDs
in a compressed range format suitable for use with a workload manager like Slurm.
v2 HSM APIThe commands which interact with HSM (for example, sat status and sat hwinv)
now use the v2 HSM API.
sat diag Limited to HSN Switchessat diag will now only operate against HSN switches by default. These are the
only controllers that support running diagnostics with HMJTD.
sat showrev EnhancementsA column has been added to the output of sat showrev that indicates whether a
product version is “active”. The definition of “active” varies across products,
and not all products may set an “active” version.
For SAT, the active version is the one with its hosted-type package repository
in Nexus set as the member of the group-type package repository in Nexus,
meaning that it will be used when installing the cray-sat-podman RPM.
cray-sat Container Image Size ReductionThe size of the cray-sat container image has been approximately cut in half by
leveraging multi-stage builds. This also improved the repeatability of the unit
tests by running them in the container.
Minor bug fixes were made in cray-sat and in cray-sat-podman. For full
change lists, refer to each repository’s CHANGELOG.md file.