-
Notifications
You must be signed in to change notification settings - Fork 55
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
feat(inferenceservice): added integration tests to inferenceservice reconcile function #574
feat(inferenceservice): added integration tests to inferenceservice reconcile function #574
Conversation
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.
@@ -0,0 +1,16330 @@ | |||
--- |
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.
question: instead of having this file locally, can we use from kserve repo like:
https://github.com/kserve/kserve/blob/release-0.13/charts/kserve-crd/templates/serving.kserve.io_inferenceservices.yaml
by indicating a link of sort to envtest?
return fmt.Sprintf("%s.%s.svc.cluster.local:%d", name, namespace, *restApiPort), nil | ||
return fmt.Sprintf("http://%s.%s.svc.cluster.local:%d", name, namespace, *restApiPort), nil |
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.
wouldn't hardcoding http://
be a problem midstream/downstream of Kubeflow where Distributions may default to mTLS? 🤔
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.
I would leave it like that for a default configuration and let the user decide by using the label modelregistry.kubeflow.org/url
for every other scenario mLTS/external route/etc
Signed-off-by: Alessio Pragliola <seth.pro@gmail.com>
7e39107
to
bee3508
Compare
Signed-off-by: Alessio Pragliola <seth.pro@gmail.com>
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 for following up on the comments @Al-Pragliola
/lgtm
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: tarilabs 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 |
Description
This pull request introduces integration tests for the new inferenceservice reconcile feature, and I chose to use
envtest
to test the functionality, as it is the de facto standard for testing controller-like behavior. Since envtest is not a real Kubernetes cluster, I had to mock responses from the model registry, as you can see in the suite_test.go file, and check that the inference-service-id label is added to the kserve inferenceservice CR. I also found some bugs in the reconciler thanks to the tests, and fixed them in this PR.NOTE: The large chunk of code in this PR comes from the CRD that needs to be added to the envtest cluster to make it handle inference services.
How Has This Been Tested?
make test
Merge criteria:
DCO
check)