Fuzzball v4.0.2 release notes
Fuzzball v4.0.2 is a patch release carrying a single fix: an internal NATS JetStream cluster name conflict that could stall a rolling upgrade away from v4.0.0. v4.0.2 also includes everything shipped in v4.0.1; if you are upgrading from v4.0.0, read the v4.0.1 release notes alongside these, since the object cache, CLI, web UI, federation, and cloud deployment changes described there apply to you as well.
Most clusters can upgrade to v4.0.2 with a normal rolling update, including clusters still running v4.0.0 and clusters that rolled back to v4.0.0 after a failed v4.0.1 upgrade. One case needs extra steps: a cluster that was originally deployed on v4.0.0, hit the JetStream failure while upgrading to v4.0.1, and was then manually forced into a running v4.0.1 state. Those clusters have the old NATS cluster name baked into their running pods and will hit the same conflict on the way to v4.0.2. Contact CIQ Support for the NATS cluster name upgrade runbook and follow it before upgrading them. Fresh v4.0.1 deployments that never ran v4.0.0 are unaffected.
- NATS JetStream cluster name conflict blocking rolling upgrades. The
internal NATS JetStream cluster name was being taken from the Fuzzball display
cluster name, which changes when a deployment’s name is defaulted or renamed.
Old and new JetStream pods then disagreed on the cluster name, NATS rejected
the routes between them, and the StatefulSet rolling update stalled with the
newest pod in
CrashLoopBackOff. The JetStream cluster name is now sourced from the stable Kubernetes custom resource name and is independent of the display name, so renaming a cluster no longer disrupts JetStream clustering. See the upgrade note at the top of this document for the one case that needs a runbook.