Update STRATUM
Upgrade STRATUM by preserving the current image tag, loading and tagging the new release, then replacing the running container through stratum-host so persistent state and upgrade-preservation logic remain intact.
Replace the application image, not the datacenter
STRATUM upgrades replace the application container image while persistent host state remains outside that image. Before loading a new release, preserve the currently running image with a permanent version tag. That gives the controller a known-good rollback point before the latest tag moves to the new release.
Retagging an image does not disturb the running STRATUM container. A running container remains attached to the image ID it started from even if stratum:latest is later moved to a different image. The new code is not used until the STRATUM container is stopped, removed, and started again.
The commands below use Docker. Podman deployments follow the same image-tagging and image-loading model; use the equivalent Podman commands for the selected runtime.
Preserve the current release before loading the next one
Identify the image that is running today and tag it with the release number you want to preserve. The image ID below is an example; use the ID from your host.
After tagging, verify that both latest and the permanent release tag point to the same current image before loading the upgrade archive.
# Preserve the current image as STRATUM 1.0
docker tag 98a6982285c2 stratum:1.0
# Verify
docker images stratumstratum latest 98a6982285c2
stratum 1.0 98a6982285c2Load and permanently tag the new STRATUM image
Load the supplied STRATUM container archive. When the archive was exported as stratum:latest, Docker moves the latest tag to the newly loaded image. The old release remains available under the permanent tag created in the previous step.
Give the new image its own permanent release tag as well. Keeping both release tags makes the active version and rollback target explicit.
docker load -i stratum-container.tar
docker tag stratum:latest stratum:2.0
docker images stratumstratum latest <NEW IMAGE ID>
stratum 2.0 <NEW IMAGE ID>
stratum 1.0 98a6982285c2Replace the running STRATUM container with stratum-host
Loading and retagging the image does not change the container that is already running. Use stratum-host to stop and replace the configured STRATUM container so the new image is selected on the next start.
The remove operation is part of the intended STRATUM upgrade path. Before the old container is destroyed, stratum-host runs the runtime upgrade-state preservation path, including the controller database migration case. Persistent host data and certificates remain outside the replaceable application container.
stratum-host stop
stratum-host remove --yes
stratum-host startRaw container removal bypasses the STRATUM upgrade-state preservation path. The -v option is also unnecessary for the normal upgrade workflow. Use stratum-host stop, stratum-host remove --yes, and stratum-host start so STRATUM performs the replacement with its preservation logic.
Complete Docker upgrade sequence
Replace the example image ID and release tags with the values for the release being upgraded.
docker tag 98a6982285c2 stratum:1.0
docker load -i stratum-container.tar
docker tag stratum:latest stratum:2.0
docker images stratum
stratum-host stop
stratum-host remove --yes
stratum-host startKeep the previous image until the new release is validated
Do not delete the previous version tag as soon as the upgrade starts. Keep the known-good image available until the new controller has started, the interface is reachable, and normal datacenter operations have been validated.
If a rollback is required, configure STRATUM to use the preserved earlier image tag and replace the container through the same stratum-host stop/remove/start path. The persistent controller state remains outside the application image; the versioned image tag controls which STRATUM application release starts against that state.
stratum:1.0 old known-good image
stratum:2.0 new release
stratum:latest new releaseThe outcome you should see
The new STRATUM image is loaded and permanently tagged, the previous release remains available for rollback, and stratum-host has recreated the application container against the persistent STRATUM host state.
