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

RHOAIENG-13608 Inconsistent Default Storage Class when corrupting isDefault value #3287

Merged

Conversation

dpanshug
Copy link
Contributor

@dpanshug dpanshug commented Oct 1, 2024

Closes: RHOAIENG-13608

Description

This PR resolves inconsistencies when handling corrupted or multiple storage classes marked as default (isDefault: true).

a) If a corrupted class is detected and no valid default is found, the first storage class in the list is automatically selected.

b) Improved the logic in StorageClassSelect to properly manage scenarios with multiple default storage classes.

Before

After

c) Enhanced error handling for corrupted default values within StorageClassesContext.
https://github.com/user-attachments/assets/61b8d37a-ffa9-43cb-8ad6-7f00f93097d6

How Has This Been Tested?

To test default inconsistency on Storage class select.

  1. Add isDefault: 1 in annotations of any one storage class.
  2. On the cluster storage page create new storage, the default will be selected first storage class (by name) in the list.

To test multiple storage class with default.

  1. Add two storage class with isDefault: true
  2. On the cluster storage page create new storage. Only one will be selected as default.

To test default inconsistency on Storage class page.

  1. Add isDefault: 1 in annotations of any one storage class.
  2. On the storage class page in dashboard, you can see "Corrupted metadata" mention in that row.
  3. Click on "Corrupted metadata"
  4. The default is updated, verify the annotation on openshift.

Test Impact

N/A

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.

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

Copy link

codecov bot commented Oct 1, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 84.86%. Comparing base (33ea696) to head (dbad89b).
Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #3287      +/-   ##
==========================================
+ Coverage   84.84%   84.86%   +0.01%     
==========================================
  Files        1307     1307              
  Lines       29238    29240       +2     
  Branches     7902     7902              
==========================================
+ Hits        24808    24815       +7     
+ Misses       4430     4425       -5     
Files with missing lines Coverage Δ
...cts/screens/spawner/storage/StorageClassSelect.tsx 93.18% <100.00%> (+0.15%) ⬆️
.../screens/spawner/storage/useDefaultStorageClass.ts 93.75% <100.00%> (+0.41%) ⬆️
...src/pages/storageClasses/StorageClassesContext.tsx 90.62% <100.00%> (ø)
...rc/pages/storageClasses/StorageClassesTableRow.tsx 100.00% <ø> (ø)

... and 5 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 33ea696...dbad89b. Read the comment docs.

Copy link
Member

@Gkrumbach07 Gkrumbach07 left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci bot added the lgtm label Oct 3, 2024
Copy link
Contributor

openshift-ci bot commented Oct 3, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Gkrumbach07

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-ci openshift-ci bot added the approved label Oct 3, 2024
@openshift-merge-bot openshift-merge-bot bot merged commit 41ea039 into opendatahub-io:main Oct 3, 2024
8 checks passed
lokeshrangineni pushed a commit to lokeshrangineni/odh-dashboard that referenced this pull request Oct 3, 2024
dmartinol pushed a commit to dmartinol/odh-dashboard that referenced this pull request Oct 3, 2024
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.

3 participants