You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 5de4525
Browse filesBrowse the repository at this point in the historyBrowse files
fix(fault-quarantine): keep applied taints whenever a ValidationRequest is created
Address review feedback: drop the validation.retainTaints setting. When
fault-quarantine creates a ValidationRequest it now keeps every taint it
applied during the quarantine session, the same way it keeps the cordon,
by clearing taintsToBeRemoved next to isUnCordon in
triggerValidationOnUnquarantine. lifecycle-manager lifts them through
schedulingGate.taints when validation passes.
The docs state that every taint a rule-set applies must be listed in
schedulingGate.taints with remove set to true.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Harsha Kalalbandi <hkalalbandi@voltagepark.com>
| ruleSets | []RuleSet | Maps HealthEvents from a quarantine session to the tests they require |
346
-
| retainTaints | bool | Keep the session's quarantine taints when a ValidationRequest is created, as the cordon is kept. List each taint in lifecycle-manager schedulingGate.taints with remove set to true so it is lifted when validation passes, and keep the not-under-quarantine readiness criterion so a new quarantine fails the pending validation instead of releasing the node. Use remove set to true only for taints that fault-quarantine alone applies: a taint that was on the node before the quarantine is not fault-quarantine's, and lifecycle-manager would lift it too. Default false |
346
+
347
+
When fault-quarantine creates a ValidationRequest, it keeps the cordon and every taint it applied during the quarantine session, and it stops tracking them. lifecycle-manager releases them when validation passes. Every taint that a fault-quarantine rule-set applies must therefore be listed in lifecycle-manager schedulingGate.taints with remove set to true. A taint that is not listed is not tolerated by the test pods, so validation cannot run on the node, and it is never removed. Keep the not-under-quarantine readiness criterion so a new quarantine fails the pending validation instead of releasing the node. Use remove set to true only for taints that fault-quarantine alone applies: lifecycle-manager matches on key, value, and effect, so it also lifts a matching taint that was on the node before the quarantine. When no ValidationRequest is created, fault-quarantine removes its taints itself.
0 commit comments