fix(rustfs): disarm whenDeleted: Delete now the resize is done #449
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/rustfs-retain-drives"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
whenDeletedwasDeletefor exactly one release.volumeClaimTemplatesare immutable, so growing the drives from 55Gi to 110Gi was a delete-and-recreate, andDeleteis what let the recreate provision new claims instead of rebinding the old undersized ones (98d8c77aarmed it,34900385used it).That resize has landed and verified — four
drive-rustfs-Nclaims at 110Gi, 4/4 Ready, erasure ratio measured at 2.004x — and it was the only reason to arm it.Why it must not stay armed
This store is taking over from MinIO and will hold 144 GiB including the
zotbucket: every OCI blob, the kernel image spine.With
Delete, anything that removes this StatefulSet destroys all four drives with it, and the paths that remove it are ordinary — a prune after an editing mistake, a badforcerecreate, a rename. The cost ofRetainis the opposite and much cheaper: an orphaned set of claims that someone deletes on purpose.Both policies are now
Retain. The field is mutable, so this applies in place — confirmed by server-side dry run, no recreate:force: truestaysWith both policies
Retain, a forced recreate now preserves the drives and rebinds them, so it costs an outage rather than the data.The trap this leaves behind, and how it is marked
Re-arming
Deleteis the obvious wrong move for a future resize. Both the manifest and the guard say what to do instead:zfs-nvme-128ksetsallowVolumeExpansion: trueand the CSI driver supports it, so expand the four PVCs in place and then bringvolumeClaimTemplatesup to match. Recreating this StatefulSet once it holds data is a data-loss event, not a resize.tests/rustfs.shnow requiresRetainand fails loudly ifDeleteis re-armed, rather than only asserting the value it wants:bash tests/check.shexits 0.https://claude.ai/code/session_01KZoQin34jeyt6nDGqvJA76