-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Auto-update annotation for isvc. #4342
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
base: master
Are you sure you want to change the base?
Auto-update annotation for isvc. #4342
Conversation
a4d4c44
to
886db72
Compare
/cc @spolti @israel-hdez |
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.
/lgtm
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.
Thanks!
/lgtm
/approve
/rerun-all |
1 similar comment
/rerun-all |
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.
/lgtm
/approve
/rerun-all |
b8b563f
to
c0c750c
Compare
@andresllh from what I understand even when the annotation auto-update is set to false, the kserve controller can still “auto” update the deployment with period resync which happens every 10 hours. It is a bit counterintuitive for users with this behavior. |
@yuzisun based my implementation on this open issue. Specifically @Jooho comment. #3299 (comment) |
/rerun-all |
1 similar comment
/rerun-all |
4e9f15e
to
7239beb
Compare
/lgtm |
@andresllh I think this needs a rebase from master |
@andresllh can you please sign your commits? |
a7db076
to
708ef8b
Compare
/rerun-all |
@yuzisun do you still have any comments or concerns regarding this? |
I agree with this. If we want a consistent experience, we need a way to freeze the deployment. |
if isvc.Spec.Predictor.Model.ProtocolVersion == nil { | ||
continue | ||
} | ||
if slices.Contains(supportedModelFormatNames, isvc.Spec.Predictor.Model.ModelFormat.Name) && slices.Contains(protocolVersionsAsStrings, string(*isvc.Spec.Predictor.Model.ProtocolVersion)) { |
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.
runtime matching also includes priority, if the lower priority runtime is updated the inference service probably should not be reconciled. Also there is case that user explicitly the serving runtime name.
cc @sivanantha321 to take a look at this, feel it is duplicating with the logic we have in other places.
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.
Sounds good, let me know how you would like me to proceed with this. I'll wait for a response from @sivanantha321 as well before I make any changes.
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.
@andresllh How about adding a field for runtime in the ISVC status ? This will be also useful for the users to track what runtime is used by the current revision of ISVC. In this way we can avoid the complexities here. If the runtime name matches with the status field, we trigger the reconcil 9E88 e request for that ISVC.
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.
@sivanantha321 that is a great idea, any objections @israel-hdez @yuzisun?
If not, I'll start on making this update.
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.
One question, though, shouldn't it be updated in case the SR is updated, regardless of whether the ISVC has the annotation?
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.
Correct, that is the current behavior. If the SR is updated and ISVC has the auto-update annotation set to true, or if it's missing, then it will update the ISVC.
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.
Only if the auto-update annotation is set to false will it skip over.
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.
right.
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.
Also, the idea proposed by @sivanantha321 would make things easier as well.
+1 to the suggested approach.
…new servingRuntimeName to isvc status Signed-off-by: Andres Llausas <allausas@redhat.com>
Signed-off-by: Andres Llausas <allausas@redhat.com>
…on initial creation. Signed-off-by: Andres Llausas <allausas@redhat.com>
Signed-off-by: Andres Llausas <allausas@redhat.com>
@spolti @yuzisun @sivanantha321 I've made the changes. Can you please review when you get a chance? |
@israel-hdez my new implementation can "freeze" the deployment. Please take a look. |
Signed-off-by: Andres Llausas <allausas@redhat.com>
Signed-off-by: Andres Llausas <allausas@redhat.com>
Signed-off-by: Andres Llausas <allausas@redhat.com>
Signed-off-by: Andres Llausas <allausas@redhat.com>
Signed-off-by: Andres Llausas <allausas@redhat.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.
Thanks @andresllh , imho it looks good.
/lgtm
@andresllh looks like there are some conflicts, can you please help with fixing them? |
…tests-kserve-upstream
Signed-off-by: Andres Llausas <allausas@redhat.com>
Signed-off-by: Andres Llausas <allausas@redhat.com>
Signed-off-by: Andres Llausas <allausas@redhat.com>
@andresllh the test is failing
|
@yuzisun Yeah, I'm looking into this. It passes when I run it locally, but for some reason it consistently fails in the CI. |
What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #3299
Type of changes
Please delete options that are not relevant.
Feature/Issue validation/testing:
Please describe the tests that you ran to verify your changes and relevant result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.
Special notes for your reviewer:
Checklist:
Release note:
Re-running failed tests
/rerun-all
- rerun all failed workflows./rerun-workflow <workflow name>
- rerun a specific failed workflow. Only one workflow name can be specified. Multiple /rerun-workflow commands are allowed per comment.