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

feat: [UIE-8098] - DBaaS 2.0 Landing Page GA #11039

Merged

Conversation

mpolotsk-akamai
Copy link
Contributor

Description 📝

DBaaS 2.0 Landing Page GA

Changes 🔄

List any change relevant to the reviewer.

  • Added Action Menu Column to the Databases Table
  • Updated Database Logo (removed Beta)

Note: The suspend action menu item will be added with the suspend feature in a separate PR.

Target release date 🗓️

10/14/24

Preview 📷

Before After
Screenshot 2024-10-02 at 5 47 55 PM Screenshot 2024-10-02 at 5 48 24 PM
Screenshot 2024-10-02 at 5 48 38 PM

How to test 🧪

Prerequisites

(How to setup test environment)
Note: For testing this change, ensure that DBaaS v2 is enabled, Beta is turned off, and the user has the "Managed Databases" account capability.

Verification steps

(How to verify changes)

  • Navigate to the Databases section.
  • The Databases table will display an additional Action Menu column.
  • Click on the Action Menu to reveal a dropdown with available actions.
  • From the Action Menu, the user can manage the database cluster, just like in the Settings tab.
  • Clicking Resize from the Action Menu will redirect you to the Resize tab.

As an Author I have considered 🤔

Check all that apply

  • 👀 Doing a self review
  • ❔ Our contribution guidelines
  • 🤏 Splitting feature into small PRs
  • ➕ Adding a changeset
  • 🧪 Providing/Improving test coverage
  • 🔐 Removing all sensitive information from the code and PR description
  • 🚩 Using a feature flag to protect the release
  • 👣 Providing comprehensive reproduction steps
  • 📑 Providing or updating our documentation
  • 🕛 Scheduling a pair reviewing session
  • 📱 Providing mobile support
  • ♿ Providing accessibility support

@mpolotsk-akamai mpolotsk-akamai requested a review from a team as a code owner October 2, 2024 16:01
@mpolotsk-akamai mpolotsk-akamai requested review from bnussman-akamai and hkhalil-akamai and removed request for a team October 2, 2024 16:01
@mpolotsk-akamai mpolotsk-akamai force-pushed the feature/UIE-8098-DBaaS-GA-Landing-Page branch from 8aca711 to 13e8624 Compare October 2, 2024 16:17
Copy link

github-actions bot commented Oct 2, 2024

Coverage Report:
Base Coverage: 86.97%
Current Coverage: 86.97%

@cpathipa cpathipa requested review from cpathipa and removed request for hkhalil-akamai October 2, 2024 18:26
@mpolotsk-akamai mpolotsk-akamai force-pushed the feature/UIE-8098-DBaaS-GA-Landing-Page branch from 13e8624 to 6f653bc Compare October 2, 2024 18:48
@coliu-akamai coliu-akamai added the DBaaS Relates to Database as a Service label Oct 2, 2024
@bnussman-akamai
Copy link
Member

Looks like we have a failing unit test 👀

databaseLabel: string;
inlineLabel?: string;
handlers?: ActionHandlers;
Copy link
Member

Choose a reason for hiding this comment

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

Could we make handlers required in DatabaseRow and DatabaseActionMenu so we don't have to handle the undefined case?

Copy link
Contributor

Choose a reason for hiding this comment

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

Done

allowList={allowList}
onClose={onCloseAccesControls}
open={isManageAccessControlsDialogOpen}
updateDatabase={updateDatabase}
Copy link
Member

Choose a reason for hiding this comment

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

Can we move the useDatabaseMutation / updateDatabase function into AddAccessControlDrawer so that it doesn't need to be a prop?

Copy link
Contributor

Choose a reason for hiding this comment

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

Done

setIsManageAccessControlsDialogOpen,
] = React.useState(false);

const [allowList, setAllowList] = React.useState<ExtendedIP[]>([]);
Copy link
Member

Choose a reason for hiding this comment

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

We shouldn't need to have allowList as state in this component. Can we just pass selectedDatabase to AddAccessControlDrawer and handle all of the state inside of AddAccessControlDrawer?

Copy link
Contributor

Choose a reason for hiding this comment

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

Done

/>
</>
) : (
''
Copy link
Member

Choose a reason for hiding this comment

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

Do we need this ''? Can we just use the following?

{isNewDatabase && (

Copy link
Contributor

Choose a reason for hiding this comment

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

Done

Copy link
Contributor

@cpathipa cpathipa left a comment

Choose a reason for hiding this comment

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

Failed unit test in DatabaseLanding.test on this branch. left a few comments, other than that functionality LGTM! Agreed with Banks feedback.

@corya-akamai corya-akamai force-pushed the feature/UIE-8098-DBaaS-GA-Landing-Page branch 3 times, most recently from d15f7b8 to d8e1227 Compare October 7, 2024 19:15
Copy link
Contributor

@cpathipa cpathipa left a comment

Choose a reason for hiding this comment

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

@corya-akamai Thank you for addressing the feedback. I left a minor comment to remove a redundant undefined check, and there is a unit test failure that should be fixed. Other than that, the PR is good to go.

@corya-akamai corya-akamai force-pushed the feature/UIE-8098-DBaaS-GA-Landing-Page branch 2 times, most recently from 85ca6e2 to 2c689e4 Compare October 7, 2024 20:46
@corya-akamai corya-akamai requested a review from cpathipa October 7, 2024 21:20
Copy link
Contributor

@cpathipa cpathipa left a comment

Choose a reason for hiding this comment

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

@corya-akamai Thank you for addressing all the feedback. Changes LGTM!

@cpathipa cpathipa added the Add'tl Approval Needed Waiting on another approval! label Oct 8, 2024
@bnussman-akamai
Copy link
Member

There are some failing unit tests that need to be addressed

Copy link
Member

@bnussman-akamai bnussman-akamai left a comment

Choose a reason for hiding this comment

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

I'm seeing a stray 0 and none of my databases are showing up 😰 when testing this PR against the dev API

Screenshot 2024-10-08 at 11 11 02 AM

@corya-akamai corya-akamai force-pushed the feature/UIE-8098-DBaaS-GA-Landing-Page branch from 2c689e4 to 0ed20a3 Compare October 8, 2024 18:58
@corya-akamai
Copy link
Contributor

I'm seeing a stray 0 and none of my databases are showing up 😰 when testing this PR against the dev API

Screenshot 2024-10-08 at 11 11 02 AM

@bnussman-akamai Can you try now?

@cpathipa
Copy link
Contributor

cpathipa commented Oct 9, 2024

@corya-akamai There still a unit test failing in this one

image

@corya-akamai corya-akamai force-pushed the feature/UIE-8098-DBaaS-GA-Landing-Page branch from 0ed20a3 to d950776 Compare October 9, 2024 18:35
databaseId={id}
databaseLabel={label}
handlers={handlers!}
></DatabaseActionMenu>
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
></DatabaseActionMenu>
/>

Copy link
Contributor

Choose a reason for hiding this comment

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

Done

Comment on lines 190 to 208
{selectedDatabase && (
<>
<DatabaseSettingsDeleteClusterDialog
databaseEngine={selectedDatabase.engine}
databaseID={selectedDatabase.id}
databaseLabel={selectedDatabase?.label}
onClose={() => setIsDeleteDialogOpen(false)}
open={isDeleteDialogOpen}
/>
<DatabaseSettingsResetPasswordDialog
databaseEngine={selectedDatabase.engine}
databaseID={selectedDatabase.id}
onClose={() => setIsResetPasswordsDialogOpen(false)}
open={isResetPasswordsDialogOpen}
/>
<AddAccessControlDrawer
database={selectedDatabase}
onClose={onCloseAccesControls}
open={isManageAccessControlsDialogOpen}
/>
</>
)}
</>
)}
Copy link
Member

Choose a reason for hiding this comment

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

Because we are conditionally rendering these dialogs/drawers. The open/close animation is broken. It is noticeable on AddAccessControlDrawer. We should consider keeping them rendered at all times. This is usually how we keep the animation working.

Copy link
Contributor

Choose a reason for hiding this comment

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

Good catch @bnussman-akamai I'll address it. There also seems to be an issue with sorting that needs to be addressed before merging.

Copy link
Contributor

Choose a reason for hiding this comment

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

@bnussman-akamai I updated so the animation is working. The sorting is not workin for the "new" tab but that is a backend issue they are working on..

@bnussman-akamai bnussman-akamai added Approved Multiple approvals and ready to merge! and removed Add'tl Approval Needed Waiting on another approval! labels Oct 9, 2024
@corya-akamai corya-akamai force-pushed the feature/UIE-8098-DBaaS-GA-Landing-Page branch 4 times, most recently from a1e82b8 to 0ec2684 Compare October 10, 2024 14:25
@corya-akamai corya-akamai force-pushed the feature/UIE-8098-DBaaS-GA-Landing-Page branch from 0ec2684 to a42fa99 Compare October 10, 2024 14:58
@mjac0bs
Copy link
Contributor

mjac0bs commented Oct 10, 2024

Test failures in CI were unrelated (Cypress failures on delete placement group spec and vpc landing page) and component test failures due to memory issues. Unit tests pass now. Going to merge.

@mjac0bs mjac0bs merged commit c8f33a7 into linode:develop Oct 10, 2024
21 of 23 checks passed
Copy link

cypress bot commented Oct 10, 2024

Cloud Manager E2E    Run #6658

Run Properties:  status check failed Failed #6658  •  git commit c8f33a73e3: feat: [UIE-8098] - DBaaS GA Landing Page (#11039)
Project Cloud Manager E2E
Run status status check failed Failed #6658
Run duration 31m 27s
Commit git commit c8f33a73e3: feat: [UIE-8098] - DBaaS GA Landing Page (#11039)
Committer mpolotsk-akamai
View all properties for this run ↗︎

Test results
Tests that failed  Failures 3
Tests that were flaky  Flaky 4
Tests that did not run due to a developer annotating a test with .skip  Pending 2
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 428

Tests for review

Failed  linodes/clone-linode.spec.ts • 1 failed test

View Output Video

Test Artifacts
clone linode > can clone a Linode from Linode details page Screenshots Video
Failed  linodes/rebuild-linode.spec.ts • 1 failed test

View Output Video

Test Artifacts
rebuild linode > cannot rebuild a provisioning linode Screenshots Video
Failed  placementGroups/delete-placement-groups.spec.ts • 1 failed test

View Output Video

Test Artifacts
Placement Group deletion > can delete with Linodes assigned when unexpected error show up and retry Screenshots Video
Flakiness  placementGroups/delete-placement-groups.spec.ts • 1 flaky test

View Output Video

Test Artifacts
Placement Group deletion > can unassign Linode when unexpected error show up and reopen the dialog Screenshots Video
Flakiness  linodes/backup-linode.spec.ts • 1 flaky test

View Output Video

Test Artifacts
linode backups > can capture a manual snapshot Screenshots Video
Flakiness  domains/smoke-clone-domain.spec.ts • 1 flaky test

View Output Video

Test Artifacts
Clone a Domain > clones a domain Screenshots Video
Flakiness  volumes/create-volume.smoke.spec.ts • 1 flaky test

View Output Video

Test Artifacts
volumes > does not allow creation of a volume with invalid pricing from volumes landing Screenshots Video

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved Multiple approvals and ready to merge! DBaaS Relates to Database as a Service
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants