Skip to content

upcoming: [UIE-9837] - Generational plans changes for Databases#13539

Open
hana-akamai wants to merge 16 commits intolinode:developfrom
hana-akamai:UIE-9837-generational-plans-dbaas
Open

upcoming: [UIE-9837] - Generational plans changes for Databases#13539
hana-akamai wants to merge 16 commits intolinode:developfrom
hana-akamai:UIE-9837-generational-plans-dbaas

Conversation

@hana-akamai
Copy link
Copy Markdown
Contributor

@hana-akamai hana-akamai commented Mar 26, 2026

Description 📝

Update Database Create and Resize tables to support generational plans changes

Note: I will remove the hardcoded json before merging

Changes 🔄

  • Display Generational Plan changes in Databases similar to Linodes when G7 plans are available and disable the Premium tab in Database Create and Database Resize (non-premium cluster)
  • Adjust resize logic (see verification steps below)
  • Minor refactoring
  • Remove legacy code around resizing 2-node clusters

Scope 🚢

Upon production release, changes in this PR will be visible to:

  • All customers
  • Some customers (e.g. in Beta or Limited Availability)
  • No customers / Not applicable

Target release date 🗓️

4/29/26

Preview 📷

See demo attached in internal ticket

How to test 🧪

Prerequisites

(How to setup test environment)

  • Checkout this PR locally, and follow the verification steps

Verification steps

(How to verify changes)

  • If G7 plans are not present in dbtypes, there should be no changes to the Database Create or Resize plan tables
  • Simulate G7 plans by commenting out the dbtypes query and uncommenting the hardcoded dbtypes around line 88 in DatabaseCreate.tsx and around line 96 in DatabaseResize.tsx
  • If G7 plans are present in dbtypes and UI LD flag databaseResizeGenerationalPlans is OFF:
    • Database Create:
      • Similar display to Linode Create.
      • Show Dedicated Plans and Types dropdowns in the Dedicated CPU tab and show “Select a region to view plans and prices” placeholder in the Plan table.
      • Premium CPU tab is disabled with tooltip that Premium plans are now G7 Dedicated plans.
    • Database Resize:
      • Show Dedicated Plans and Types dropdowns in the Dedicated CPU tab.
      • If the cluster is NOT a premium plan:
        • G7 plans are not displayed under All Available Plans option. Under All Plans option, G7 plans are disabled.
        • Premium CPU tab continues to be disabled.
      • If the cluster IS a premium plan:
        • Premium CPU tab continues to be enabled. Shared CPU tab continues to be disabled.
        • Dedicated CPU tab is enabled. Only G7 plans are shown under All Available Plans option. Under All Plans option, Non-G7 Dedicated Plans are disabled.
  • G7 plans are returned in /databases/types endpoint and UI LD flag databaseResizeGenerationalPlans is ON:
    • Database Create:
      • No change to OFF state, same as above.
    • Database Resize:
      • G7 plans are displayed and enabled under All Available Plans option regardless of whether the current plan is premium or not.
      • Cross resizing plans is possible (Shared -> G7 Dedicated/Premium, G7 Dedicated/Premium -> Shared, etc)
Author Checklists

As an Author, to speed up the review process, I considered 🤔

👀 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


  • I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

  • All tests and CI checks are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@hana-akamai hana-akamai self-assigned this Mar 26, 2026
@hana-akamai hana-akamai added DBaaS Relates to Database as a Service GCP Generational Compute Plans labels Mar 26, 2026
@linode-gh-bot
Copy link
Copy Markdown
Collaborator

Cloud Manager UI test results

🔺 1 failing test on test run #8 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
1 Failing901 Passing11 Skipped41m 43s

Details

Failing Tests
SpecTest
object-storage.e2e.spec.tsCloud Manager Cypress Tests→object storage end-to-end tests » can update bucket access

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/objectStorage/object-storage.e2e.spec.ts"

@smans-akamai smans-akamai self-requested a review April 13, 2026 17:11
@smans-akamai smans-akamai marked this pull request as ready for review April 13, 2026 17:40
@smans-akamai smans-akamai requested a review from a team as a code owner April 13, 2026 17:40
platform: 'rdbms-default',
});

// const dbtypes = dbtypesData.data as DatabaseType[];
Copy link
Copy Markdown
Contributor

@smans-akamai smans-akamai Apr 13, 2026

Choose a reason for hiding this comment

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

Note: As mentioned in the description, the dbtypes json file that mocks the new response in Database Create and Resize will be removed along with references to it in the code like the line above prior to merging.

error: typesError,
isLoading: typesLoading,
// error: typesError,
// isLoading: typesLoading,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do we not need typesError and typesLoading?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It looks like these were just removed for the mock data. Planning to add the checks these were used in back before merging the pull request. See related comment for context.

error: typesError,
isLoading: typesLoading,
// error: typesError,
// isLoading: typesLoading,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Same question that I had in DatabaseCreate. Were these just removed temporarily for testing with mock data? If so, we should probably ad this back along with adding them to the loading state condition.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

After looking over the code, it looks like these were just moved temporarily, so we'll plan to add these back to the loading state when we remove the temporary database types json file and testing code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DBaaS Relates to Database as a Service GCP Generational Compute Plans

Projects

Status: Review

Development

Successfully merging this pull request may close these issues.

3 participants