Skip to content

Conversation

sbueringer
Copy link
Member

@sbueringer sbueringer commented Oct 3, 2025

Signed-off-by: Stefan Büringer [email protected]

Part of #2374

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Oct 3, 2025
@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 3, 2025
@sbueringer sbueringer mentioned this pull request Oct 3, 2025
22 tasks
@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Oct 3, 2025
@sbueringer
Copy link
Member Author

/assign @alvaroaleman

/hold

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 3, 2025
}
ctrlmetrics.ReconcileErrors.WithLabelValues(c.Name).Inc()
ctrlmetrics.ReconcileTotal.WithLabelValues(c.Name, labelError).Inc()
if !result.IsZero() {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If Priority is set result is not zero anymore. Not ideal, but I don't have a better idea.

Independent of that I think it's not especially bad to get rid of this warning.
I've written code specifically to set ctrl.Result{} to zero to avoid this warning which would have been absolutely not necessary otherwise

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could explicitly check for Requeue or RequeAfter being set. It is a bit awkward that we now respect a non-error return when an error is returned, that is very uncommon

Copy link
Member Author

@sbueringer sbueringer Oct 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could explicitly check for Requeue or RequeAfter being set.

I'll do that

It is a bit awkward that we now respect a non-error return when an error is returned, that is very uncommon

I think we don't "respect" it (in the sense of using it), we just don't write a warning on log level 0.

We have a bunch of controllers where the main reconcile logic returns either an error or non-zero ctrl.Result{}, but then we patch the reconciled object with defer. If that patch fails we want to return the error.

Because of this code here in controller-runtime we have to make sure that in these situations we set Result to zero to avoid this warning log: https://github.com/kubernetes-sigs/cluster-api/blob/main/bootstrap/kubeadm/internal/controllers/kubeadmconfig_controller.go#L274-L276

Not sure I see the value of this warning over CR just silently prioritizing error over ctrl.Result{} if both is returned

But this discussion is orthogonal to adding the Priority parameter. So let's continue the discussion (I'll re-add the warning for this PR)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we don't "respect" it (in the sense of using it), we just don't write a warning on log level 0.

What I meant is the Priority field, we respect it even in the error case

@sbueringer sbueringer changed the title ✨ Add Priority field to reconcile.Result ✨ Add optional Priority field to reconcile.Result Oct 3, 2025
}
ctrlmetrics.ReconcileErrors.WithLabelValues(c.Name).Inc()
ctrlmetrics.ReconcileTotal.WithLabelValues(c.Name, labelError).Inc()
if !result.IsZero() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could explicitly check for Requeue or RequeAfter being set. It is a bit awkward that we now respect a non-error return when an error is returned, that is very uncommon

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 5, 2025
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 251fa5d530effa8db75ba71c7b37ecca9d374726

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: alvaroaleman, sbueringer

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:
  • OWNERS [alvaroaleman,sbueringer]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@alvaroaleman
Copy link
Member

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 5, 2025
@k8s-ci-robot k8s-ci-robot merged commit 1c75cb0 into kubernetes-sigs:main Oct 5, 2025
9 checks passed
@sbueringer sbueringer deleted the pr-result-priority branch October 6, 2025 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants