docs: design the node replace pipeline #228
Loading…
Reference in a new issue
No description provided.
Delete branch "docs/node-replace-pipeline"
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?
Records the design for moving the replace-roll off the laptop and into Pipelines. Nothing is built; the document is marked PROPOSED, NOT BUILT.
Why it is needed. Part 3 of the Mayastor exit wants an unfragmented ZFS pool. A
bootc switchkeeps the disk, so a kernel roll cannot repartition. And mayastor issda4, between root andtank, so deleting it leaves a hole that nothing can grow into, because nothing followstank.The constraint that shaped it. There is no Hetzner headroom for a sixth server, so the laptop script strategy of add-then-remove at N+1 is unavailable. Running at N-1 is safe only after Mayastor is gone: 54.4 cores are requested today against 48 on four workers, and the io-engine holds 20 of them. After removal it is 34.4 against 48.
The recommendation. Repartition in place rather than replace the server. Both destroy
tank, but the in-place path needs no spare server, no join token, no SSH, no cloud token, and no right to delete a node. It runs from the privileged agent pod the kernel roll already uses. The replace path is kept for a bricked node or a server-type change.The hazards found while reading the laptop scripts are recorded because they were expensive to find: the
seanfarmfirewall blocks SSH from inside the cluster, there is no cloud-init anywhere in the add path, and the k3s join token has no in-cluster source.Also amends
KERNEL-DEPLOY-PIPELINE.mdandKERNEL-ROLL.md, which both state the replace-roll stays laptop-manual, and adds the document to the README index.bash tests/check.shpasses.https://claude.ai/code/session_01MdSbMhzabSbpG8TtP9Ur3H