csi Tool ChangesCSM 1.7.0 includes a major version bump for Cray Site Init (CSI).
csi config that administrators performing fresh installs of CSM should be aware of.IPv6 data is now consumed during a fresh install during csi config init by including the new IPv6 keys:
chn-gateway6chn-cidr6cmn-gateway6cmn-cidr6These new keys deprecate some existing keys. For details, see
csi config initnew flags.
For runtime/upgrades, the same flags are used but with the csi patch csm ipv6 command. This
command will patch SLS with IPv6 reservations for the bootstrap_dhcp and network_hardware
subnets in the CHN and CMN. The list of subnets can be overridden, but not the list of networks,
and only during the csi patch csm ipv6 command (not during csi config init). This command is
designed to be repeatable for use after new hardware has been added.
csi patch csm ipv6This command defaults to a dry run; all proposed changes to BSS and SLS are written to a
timestamped subdirectory of the current working directory (unless otherwise overridden by
-b|--backup-dir) along with backups of the original data.
Passing --commit to the command disables the dry run; all proposed changes and backups are
written in the same manner as the dry run, before being applied to
BSS and SLS.
This command skips entries that already have IPv6 data unless the -f|--force flag is present.
This means:
csi patch csm ipv6 on an already patched system with no hardware changes will result
in no changecsi patch csm ipv6 on an already patched system with new hardware added will result
in new IP address reservations and BSS data for only that hardwarecsi patch csm ipv6 --force will update existing IPv6 addresses within
the scope of csi patch csm ipv6Without --force, csi patch csm ipv6 respects any existing IPAddress6 reservations in BSS and
SLS installed by hand (e.g. by the customer or administrator). Be aware that after the first run of
CSI --commit, the generated backups are the only way to restore the manually added IPAddress6
reservations.
csi patch csm ipv6 has a --remove flag, and by default this flag runs as a dry run unless
--commit is present. This removes all IPv6 data in BSS and SLS within the scope of
csi patch csm ipv6, e.g. the CHN, CMN, and their bootstrap_dhcp and network_hardware subnets
(unless otherwise overridden with --subnets).
--remove creates backups in the same manner as the patch command.
By default, csi patch csm ipv6 targets the bootstrap_dhcp and network_hardware subnets within the
Customer High-speed Network (CHN) and
Customer Management Network (CMN).
--subnets flag (see usage)--chn-cidr6/--chn-gateway6 to omit the CHN)NOTE: Any SLS
IPReservationwithin the target subnets will be given IPv6 leases (e.g. everyIPReservationentry in the CMN’sbootstrap_dhcpsubnet will receive anIPAddress6entry; there is no hardware filter or differentiator to choose otherwise).
These changes may be particularly important for system administrators and configuration maintainers to be aware of.
csi config init empty and csi config init produce system_config.yaml files without deprecated
flags, alias flags, and program assistant flags.
system_config.yaml files:
config and helpcmn-gw and can-gwbgp-peers)csi config init flags, see
csi config init deprecated flags.system_config.yaml
after running this newer CSI.
system_config.yaml
file after running csi config initcsi config init now include additional information in their headers.
This is not true in cases where this would be illegal for the particular file format.
The following new information is added:
csi config init was calledExample:
#
## This file was generated by cray-site-init.
## Version: 2.0.5
## Generated time: 2025-08-02T21:09:36.528837Z
#
csi config init will exit immediately if any generated file fails to template.
csi would carry on and possibly leave the user with malformed files. The user would
need to decipher an error happened between the dozens of innocuous messages printed to screen.metallb.yamlcsi config init flag changescsi config init new flagsIn some cases, a new flag deprecates an existing flag. Using deprecated flags will cause a warning to be emitted.
chn-gateway6chn-cidr6cmn-gateway6cmn-cidr6cmn-cidr4
cmn-cidrcmn-gateway4
cmn-gatewaychn-cidr4
chn-cidrchn-gateway4
chn-gatewaycsi config init deprecated flagsSome existing flags are deprecated by new flags. Using deprecated flags will cause a warning to be emitted.
cmn-cidr
cmn-cidr4cmn-gateway
cmn-gateway4chn-cidr
chn-cidr4chn-gateway
chn-gateway4csi main program new flags--input-dir/-i specifies the directory to look in for input files
system_config.yaml is an exception
csi looks for system_config.yamlsystem_config.yaml is looked for in the current working directorysystem_config.yaml can be specified using --config/-cThis defaults to the current working directory
(pit#) Usage example on a PIT node:
/tmp/csi config init -i /var/www/ephemeral/prep -c /var/www/ephemeral/prep/system_config.yaml
(linux#) Usage example on a local workstation:
./csi config init -i ~/gitstuff/hpc-shasta-system-config/redbull/1.6 -c ~/gitstuff/hpc-shasta-system-config/redbull/1.6/system_config.yaml
--k8s-secret-name and --k8s-namespace can be used to override the location to read the OpenID token
admin-client-auth and default, respectively--csm-api-url can be used to change the target API URL
https://api-gw-service-nmn.localcsi patch new sub-commandsIn some cases, a new sub-command deprecates an existing sub-command. Deprecated sub-commands will not appear in
csi --helpusage, and invoking them will emit a warning.
csi patch csm ipv6 will patch IPv6 data into CSM for network devices, application nodes,
and non-compute nodes.csi patch init ca
csi patch cacsi patch init packages
csi patch packagescsi patch deprecated sub-commandsSome existing sub-commands are deprecated by new sub-commands. Deprecated sub-commands will not appear in
csi --helpusage, and invoking them will emit a warning.
csi patch ca
csi patch init cacsi patch packages
csi patch init packagescsi config load (no longer used and had outdated/unmaintained structures)csi pit get (no longer used and was causing problems with the lint workflow
and circular dependencies)csi config init where “disk configuration”
would print once for each NCN.domain= key was set to the SLS subnet
start and end IP address, instead of the entire network.chn-cidr, chn-gateway, cmn-cidr, and cmn-gateway.*-cidr parameters during csi config init
and csi patch csm ipv6.