Skip to content
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

Add model redeploying status #3513

Conversation

emilys314
Copy link
Contributor

Closes https://issues.redhat.com/browse/RHOAIENG-3409

Description

Makes the status a spinner after editing a model, popover message says "Redeploying".

Basically the status functions will prioritize looking at the target state, since that is more indicative of what is going on.
I'm not 100% on what the correct message is to display. But the special return case could be removed and then it would default to the state of the target i.e. "Loading".

image

How Has This Been Tested?

  1. Deploy a model
  2. Edit the model and change something (most things will reload it)
  3. The status should change to loading (the polling may be slow to update it)

Test Impact

Jest unit tests could be added to the utils functions, but there aren't any so i didn't add any.

Request review criteria:

Self checklist (all need to be checked):

  • The developer has manually tested the changes and verified that the changes work
  • Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
  • The developer has added tests or explained why testing cannot be added (unit or cypress tests for related changes)

If you have UI changes:

  • Included any necessary screenshots or gifs if it was a UI change.
  • Included tags to the UX team if it was a UI/UX change.

@vconzola

After the PR is posted & before it merges:

  • The developer has tested their solution on a cluster by using the image produced by the PR to main

@emilys314
Copy link
Contributor Author

cc @alexcreasy @lucferbux

@vconzola
Copy link

@kaedward Would you please take a quick peek at this? I think it looks OK, but you might have a different suggestion for the popover message.

Copy link
Contributor

@christianvogt christianvogt left a comment

Choose a reason for hiding this comment

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

The jira issue mentions this:

When activeModelState is in a pending state we will show the spinner without a tooltip.

Seems to me the fallback message right now is always going to be Unknown ?

(targetModelState === InferenceServiceModelState.LOADING ||
targetModelState === InferenceServiceModelState.PENDING)
) {
return 'Redeploying';
Copy link
Contributor

Choose a reason for hiding this comment

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

@emilys314 did you get a response yet on suggestion of the new text? If not, we can always do a followup to update the text if everything else is good to go with the PR.

Should add unit tests for this util function.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No updates on the wording, i believe Katie is out until next week

Sure I'll add tests

@emilys314
Copy link
Contributor Author

The jira issue mentions this:

When activeModelState is in a pending state we will show the spinner without a tooltip.

Seems to me the fallback message right now is always going to be Unknown ?

Yeah so the active vs target states don't seem to be well documented anywhere, but here are some tests from kserve

I don't think activeModelState can ever just be pending.

During initial deployment it would have activeModelState: '', targetModelState: Loading

The popover text will be hidden if the function returns "", it can do that now because it looks at activeModelState which becomes that commonly. But targetModelState is more up to date so this PR would make it happen less.

However there does seem merit to return an emptry string sometimes so I can make a small update by changing
const stateMessage = targetModelState || activeModelState || 'Unknown';
to
const stateMessage = (targetModelState || activeModelState) ?? 'Unknown';

Copy link

codecov bot commented Nov 27, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 85.54%. Comparing base (6adeed2) to head (6eea5e6).
Report is 25 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #3513      +/-   ##
==========================================
+ Coverage   85.24%   85.54%   +0.30%     
==========================================
  Files        1356     1342      -14     
  Lines       31075    31003      -72     
  Branches     8660     8663       +3     
==========================================
+ Hits        26490    26523      +33     
+ Misses       4585     4480     -105     
Files with missing lines Coverage Δ
...lServing/screens/global/InferenceServiceStatus.tsx 85.71% <100.00%> (ø)
...ving/screens/global/useRouteForInferenceService.ts 100.00% <100.00%> (ø)
...end/src/pages/modelServing/screens/global/utils.ts 100.00% <100.00%> (ø)
...verModels/deployedModels/DeployedModelsGallery.tsx 90.56% <100.00%> (ø)

... and 110 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6adeed2...6eea5e6. Read the comment docs.

@christianvogt
Copy link
Contributor

/lgtm

Copy link
Contributor

@alexcreasy alexcreasy left a comment

Choose a reason for hiding this comment

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

Not tested, but the code looks good - thanks Emily!

Copy link
Contributor

openshift-ci bot commented Nov 28, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: alexcreasy

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot bot merged commit 6b956b3 into opendatahub-io:main Nov 28, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants