Skip to content

fix(operator): apply configured health probe endpoint names - #3886

Open
rjgoyln wants to merge 1 commit into
kubeflow:masterfrom
rjgoyln:fix/health-probe-endpoint-names
Open

fix(operator): apply configured health probe endpoint names#3886
rjgoyln wants to merge 1 commit into
kubeflow:masterfrom
rjgoyln:fix/health-probe-endpoint-names

Conversation

@rjgoyln

@rjgoyln rjgoyln commented Aug 9, 2026

Copy link
Copy Markdown

Summary

readinessEndpointName and livenessEndpointName have been exposed in the config API and Helm chart with defaults, but were never passed to the manager. As a result, probes always used controller-runtime's default /readyz and /healthz endpoints. Renaming an endpoint and updating the Deployment probe therefore caused 404s and left the container permanently unready.

The configured names are now passed to the manager. Because the config values omit the leading / (for example, readinessEndpointName: readyz) while http.ServeMux patterns require one, the endpoints are normalized before registration. This preserves the existing defaults while allowing custom endpoint names.

Invalid endpoint names that ServeMux rejects now fail at startup instead of being silently ignored. Validation in the config layer remains unchanged.

Tests

The Load cases and endpoint normalization test both fail without the change.

The config API, the base manifests, and the Helm chart all expose
readinessEndpointName and livenessEndpointName, but the manager never received
them, so the probes stayed on controller-runtime's own /readyz and /healthz. A
deployment that renamed an endpoint and pointed its probe at the new path got a
404 back and a container that never turned ready.

Every place these names are configured spells them without a leading slash,
while controller-runtime registers them as http.ServeMux patterns, which panic
on a pattern that has none. They are rooted on the way through so the shipped
defaults keep serving where the probes already look, and the startup log now
reports the paths that were registered rather than the two it assumed.

Signed-off-by: rjgoyln <pt40419@gmail.com>
@google-oss-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign jeffwan for approval. For more information see the Kubernetes Code Review Process.

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

Details Needs approval from an approver in each of these files:

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

@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

🎉 Welcome to the Kubeflow Trainer! 🎉

Thanks for opening your first PR! We're happy to have you as part of our community 🚀

Here's what happens next:

  • If you haven't already, please check out our Contributing Guide for repo-specific guidelines and the Kubeflow Contributor Guide for general community standards.
  • Our team will review your PR soon! cc @kubeflow/kubeflow-trainer-team

Join the community:

Feel free to ask questions in the comments if you need any help or clarification!
Thanks again for contributing to Kubeflow! 🙏

@rjgoyln
rjgoyln marked this pull request as ready for review August 9, 2026 15:35
Copilot AI balanced review requested due to automatic review settings August 9, 2026 15:35
@google-oss-prow
google-oss-prow Bot requested a review from jinchihe August 9, 2026 15:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants