-
Notifications
You must be signed in to change notification settings - Fork 27
Inconsistent Dry-Run Behavior Between Controllers #54
Copy link
Copy link
Open
Labels
priority/backlogHigher priority than priority/awaiting-more-evidence.Higher priority than priority/awaiting-more-evidence.priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.Important over the long term, but may not be staffed and/or may need multiple releases to complete.
Metadata
Metadata
Assignees
Labels
priority/backlogHigher priority than priority/awaiting-more-evidence.Higher priority than priority/awaiting-more-evidence.priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.Important over the long term, but may not be staffed and/or may need multiple releases to complete.
Dry-run behavior differs between
RuleControllerandNodeControllerCurrent Behavior
RuleControllerevaluates dry-run rules and reports what would happen(here: https://github.com/kubernetes-sigs/node-readiness-controller/blob/main/internal/controller/nodereadinessrule_controller.go#L544).NodeControllerskips dry-run rules entirely, producing no output when nodes change(here: https://github.com/kubernetes-sigs/node-readiness-controller/blob/main/internal/controller/node_controller.go#L88).Problem
When node labels or conditions change, we will get no visibility into whether rules would match or what taint operations would occur.
Question: is that by design? If no we should evaluate in
nodeControllertoo when we dodryRun=Trueand update the nodeStatus maybe(here: https://github.com/kubernetes-sigs/node-readiness-controller/blob/main/internal/controller/nodereadinessrule_controller.go#L350)