Skip to content

NodeReconciler silently ignores evaluation errors, preventing reconcile retries #228

@Nesar976

Description

@Nesar976

While reviewing NodeReconciler, I noticed that errors from processNodeAgainstAllRules are logged internally but not returned from the reconcile loop.

Because Reconcile() still returns ctrl.Result{}, nil, transient failures such as API conflicts, patch failures, or temporary Kubernetes errors do not trigger automatic retries/requeueing by controller-runtime.

This can leave nodes in an inconsistent taint state until another unrelated update happens.

Suggested approach:

  • aggregate evaluation errors instead of swallowing them
  • return retryable errors from the reconcile loop so controller-runtime can handle requeue/backoff properly

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions