Dry-run behavior differs between RuleController and NodeController
Current Behavior
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 nodeController too when we do dryRun=True and update the nodeStatus maybe(here: https://github.com/kubernetes-sigs/node-readiness-controller/blob/main/internal/controller/nodereadinessrule_controller.go#L350)
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)