-
Notifications
You must be signed in to change notification settings - Fork 299
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
properly configure appwrapper webhooks #4163
Conversation
✅ Deploy Preview for kubernetes-sigs-kueue canceled.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you implement minimum test cases in https://github.com/kubernetes-sigs/kueue/tree/main/test/integration/singlecluster/webhook/jobs?
/kind feature This integration has not been released, yet. So we can consider this as just followup of #3953 |
What is the user-facing change of the webhooks? It would be great to cover that in e2e or integration tests. I'm ok with a follow up if you tested manually. |
I think that the integration tests are enough in this case. The objective for webhook tests aim to verify if webhooks are correctly configured (mostly manifests and kubebuilder markers). It seems that AppWrapper does not have specific webhook as I can see https://github.com/kubernetes-sigs/kueue/tree/main/pkg/controller/jobs/appwrapper |
I'm working on the integration test now as suggested by @tenzen-y . Should only take about an hour. For AppWrapper users, there is no change. With Kueue 0.10 this code runs in the external webhook (installed with AppWrapper controller). In Kueue 0.11 it runs in Kueue's webhook and is disabled by configuration in the AppWrapper controller's webhook. |
Could we follow a simple pattern that we do for pod/deployment/statefulset? If we don't use AppWrapper in our framework, could we ignore the webhooks? |
We should use the same pattern as all enabled-by-default frameworks that aren't Kinds that are part core Kubernetes. Ie, no difference between AppWrapper or RayCluster, or PyTorchJob. |
integration test added. it's not the most direct way to find it, but the reason I found this problem in the first place is my e2e multikueue tests in #3992 were failing because the webhook is responsible for defaulting |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Impl LGTM, left some comments to the test.
test/integration/singlecluster/webhook/jobs/appwrapper_webhook_test.go
Outdated
Show resolved
Hide resolved
test/integration/singlecluster/webhook/jobs/appwrapper_webhook_test.go
Outdated
Show resolved
Hide resolved
test/integration/singlecluster/webhook/jobs/appwrapper_webhook_test.go
Outdated
Show resolved
Hide resolved
test/integration/singlecluster/webhook/jobs/appwrapper_webhook_test.go
Outdated
Show resolved
Hide resolved
test/integration/singlecluster/webhook/jobs/appwrapper_webhook_test.go
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
/lgtm
/approve
LGTM label has been added. Git tree hash: f272a51a4b3ce64a56fff60169b74be7aeb94b3d
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dgrove-oss, tenzen-y 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:
Approvers can indicate their approval by writing |
What type of PR is this?
/kind bug
What this PR does / why we need it:
Adds the kubebuilder directives to properly configure the AppWrapper webhooks.
This should have been part of #3953.
Which issue(s) this PR fixes:
Special notes for your reviewer:
No release notes because we haven't made a release with appwrapper. The release note from #3953 is sufficient.
Does this PR introduce a user-facing change?