fix(kernel): drop the Mayastor predicates from the green gate #2158
Loading…
Reference in a new issue
No description provided.
Delete branch "chore/green-gate-drop-mayastor"
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?
Mayastor is being removed from the cluster. This must land and deploy before any teardown starts, because the kernel roll's green gate reads Mayastor in four places and three of them are fail-closed.
The blocker
green_check()inpipeline-deploy-kernel.yaml:kubectl get diskpool -A ... || return 1error: the server doesn't have a resource type "diskpool"-> returns 1 for evercurl mayastor-api-rest... || return 1kubectl -n openebs-mayastor get sts mayastor-etcdAGENTS.mdnames the ability to roll a patched kernel as a security property. Deleting Mayastor first would take that away with no warning, and the failure only shows up at the next roll.There is an earlier trap in the same block. Line 1157 builds the expected pool set from
kubectl get node -l openebs.io/engine=mayastor, and 1159 reports(stale)for any pool whose node has lost the label. Removing the node labels alone already reds the gate, before a single object is deleted.What changed
The excised range 1153-1175 sits cleanly between the CNPG and OpenBao predicates.
local expectedhas no reader outside it and bothjandxare reassigned immediately after, so nothing dangles. Verified against the liveClusterWorkflowTemplate, not only the file.The safety envelope needed more than a deletion. Every storage assertion in
tests/kernel-deploy-safety-envelope.shwas a Mayastor assertion, so removing them would have left the "storage has fully rejoined" half of that guard vacuous: the gate could lose all of its storage predicates and CI would stay green. They are re-pointed at the replicated state that actually remains on a rebooted node, CNPG plus the OpenBao raft plus the MinIO erasure sets, all on ZFS, and extended with an explicit fail-closed check on each of those reads. That last property is the oneroll-common.shgot wrong by swallowing kubectl errors with2>/dev/null.RBAC loses
openebs.io/diskpoolsand keepspostgresql.cnpg.io/clusters, which the new assertion now pins.greenBudgetstays at 2400. The 2026-08-10 incident that set it is kept as the record of why, with a note that its replica-rebuild half can no longer happen.Checks
bash tests/check.sh— 146/146 guards pass, 0 skipped, 0 failed. All five kernel contract tests green individually.After merge
Confirm the live object before touching the cluster:
https://claude.ai/code/session_01MdSbMhzabSbpG8TtP9Ur3H