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-gateway6
chn-cidr6
cmn-gateway6
cmn-cidr6
These new keys deprecate some existing keys. For details, see
csi config init
new 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 ipv6
This 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 ipv6
Without --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
IPReservation
within the target subnets will be given IPv6 leases (e.g. everyIPReservation
entry in the CMN’sbootstrap_dhcp
subnet will receive anIPAddress6
entry; 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 help
cmn-gw
and can-gw
bgp-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 init
csi 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.yaml
csi 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-gateway6
chn-cidr6
cmn-gateway6
cmn-cidr6
cmn-cidr4
cmn-cidr
cmn-gateway4
cmn-gateway
chn-cidr4
chn-cidr
chn-gateway4
chn-gateway
csi config init
deprecated flagsSome existing flags are deprecated by new flags. Using deprecated flags will cause a warning to be emitted.
cmn-cidr
cmn-cidr4
cmn-gateway
cmn-gateway4
chn-cidr
chn-cidr4
chn-gateway
chn-gateway4
csi
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.yaml
system_config.yaml
is looked for in the current working directorysystem_config.yaml
can be specified using --config
/-c
This 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.local
csi patch
new sub-commandsIn some cases, a new sub-command deprecates an existing sub-command. Deprecated sub-commands will not appear in
csi --help
usage, 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 ca
csi patch init packages
csi patch packages
csi patch
deprecated sub-commandsSome existing sub-commands are deprecated by new sub-commands. Deprecated sub-commands will not appear in
csi --help
usage, and invoking them will emit a warning.
csi patch ca
csi patch init ca
csi patch packages
csi patch init packages
csi 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
.