Skip to content

fix: [UIE-9192, UIE-9193] - DBaaS - Create and Manage Networking validation allows submitting VPC with empty subnet field and Manage Networking drawer does not reset#12889

Merged
smans-akamai merged 2 commits intolinode:developfrom
smans-akamai:UIE-9192-UIE-9193-dbaas-vpc-state-and-validation-fixes
Sep 17, 2025

Conversation

@smans-akamai
Copy link
Copy Markdown
Contributor

@smans-akamai smans-akamai commented Sep 17, 2025

Description 📝

This pull request fixes two issues:

  1. In the DBaaS Create and Manage Networking flow. The form validation allows submitting a VPC configuration with an empty subnet field.
  2. The Manage Networking drawer does not reset after opening the Unassign dialog, then cancelling out of it and reopening drawer.

Changes 🔄

List any change(s) relevant to the reviewer.

  • Logic to open Unassign VPC dialog now includes logic to reset the state for the drawer
  • Changes to VPC field in the DatabaseVPCSelector will now always clear the Subnet in formik state since that the subnet selection will vary based on selected VPC.

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 🗓️

9/23/2025

Preview 📷

Include a screenshot <img src="" /> or video <video src="" /> of the change.

🔒 Use the Mask Sensitive Data setting for security.

💡 For changes requiring multiple steps to validate, prefer a video for clarity.

Validation Bug:

Before After
BEFORE-manage-networking-save-enabled-when-subnet-empty AFTER-manage-networking-save-disabled-when-subnet-empty

How to test 🧪

Prerequisites

(How to setup test environment)

  • This can only be tested in staging and you'll need to have access to the databases tab
  • Have 2 VPCs and with at least 2 subnets each created in a specific region
  • Create 2 databases in that region with one of the VPCs that were created above assigned
  • Make sure you have the databaseVpc feature flag enabled

Reproduction steps

(How to reproduce the issue, if applicable)

DatabaseCreate form validation allows submitting a VPC configuration with an empty subnet field

  • Access the databases tab and select Create Database Cluster button to open the Create flow
  • Make selections (ie. label, region with VPCs available, plans)
  • Make a selection for a VPC and select a subnet
  • Modify the VPC field, which clears the subnet field automatically
  • Select Create Database Cluster and see that the the request goes through and the cluster is created even though the subnet field is empty.
  • See that the request payload includes the private_network property and contains the previously selected subnet_id that was supposed to be cleared from the form

DatabaseManageNetworkingDrawer form validation allows submitting a VPC configuration with an empty subnet field

  • Access the databases tab and select an existing database cluster with a VPC configured to access the details
  • Navigate to the Networking tab and select the Manage Networking button
  • See that the configured VPC and subnet are preselected
  • Modify the VPC field, which clears the subnet field automatically.
  • See that the Save button below is enabled
  • Select Save and see that the request goes through

The Manage Networking drawer state does not reset after opening the Unassign dialog, cancelling out of it and reopening drawer.

  • Access the databases tab and select an existing database cluster with a VPC configured to access the details
  • Navigate to the Networking tab and select the Manage Networking button
  • See that the configured VPC and subnet are preselected
  • Modify the VPC field, which clears the subnet field automatically.
  • Select the Unassign VPC button in the drawer to open the Unassign dialog
  • In the Unassign Dialog, select the Cancel button.
  • Select the Manage Networking button again to reopen the drawer
  • See that the drawer still has the same field state where the subnet field is still cleared

Verification steps

(How to verify changes)

DatabaseCreate form validation no longer allows submitting a VPC configuration with an empty subnet field

  • Access the databases tab and select Create Database Cluster button to open the Create flow
  • Make selections (ie. label, region with VPCs available, plans)
  • Make a selection for a VPC and select a subnet
  • Modify the VPC field, which clears the subnet field automatically
  • Verify that, after selecting the Create Database Cluster button a validation error is shown for the empty Subnet field indicating that it is required and that the POST request is not made to create the new VPC.
  • Verify that, after selecting a Subnet and creating the database cluster clears the error and creates the cluster successfully

DatabaseManageNetworkingDrawer form validation no longer allows submitting a VPC configuration with an empty subnet field

  • Access the databases tab and select an existing database cluster with a VPC configured to access the details
  • Navigate to the Networking tab and select the Manage Networking button
  • See that the configured VPC and subnet are preselected
  • Modify the VPC field, which clears the subnet field automatically.
  • Verify that the Save button below is disabled until you select a Subnet.

The Manage Networking resets state after opening the Unassign dialog, cancelling out of it, and reopening the drawer.

  • Access the databases tab and select an existing database cluster with a VPC configured to access the details
  • Navigate to the Networking tab and select the Manage Networking button
  • See that the configured VPC and subnet are preselected
  • Modify the VPC field, which clears the subnet field automatically.
  • Select the Unassign VPC button in the drawer to open the Unassign dialog
  • In the Unassign Dialog, select the Cancel button.
  • Select the Manage Networking button again to reopen the drawer
  • Verify that the drawer is reset to it's initial state where the currently configured VPC and Subnet are preselected
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

@smans-akamai smans-akamai marked this pull request as ready for review September 17, 2025 15:04
@smans-akamai smans-akamai requested a review from a team as a code owner September 17, 2025 15:04
@smans-akamai smans-akamai requested review from bill-akamai, hana-akamai and jaalah-akamai and removed request for a team September 17, 2025 15:04
@smans-akamai smans-akamai added DBaaS Relates to Database as a Service 🚨 Urgent labels Sep 17, 2025
…dation allows submitting VPC with empty subnet field and Manage Networking drawer does not reset after opening unassign modal and reopening drawer
@smans-akamai smans-akamai force-pushed the UIE-9192-UIE-9193-dbaas-vpc-state-and-validation-fixes branch from 750f267 to e34516f Compare September 17, 2025 15:08
@bnussman-akamai bnussman-akamai self-requested a review September 17, 2025 15:23
Copy link
Copy Markdown
Contributor

@jaalah-akamai jaalah-akamai left a comment

Choose a reason for hiding this comment

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

Reviewed this yesterday with Sam. These changes should now enforce the validation in the schema.

@linode-gh-bot
Copy link
Copy Markdown
Collaborator

Cloud Manager UI test results

🔺 2 failing tests on test run #3 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
2 Failing811 Passing11 Skipped36m 20s

Details

Failing Tests
SpecTest
object-storage-objects-multicluster.spec.tsCloud Manager Cypress Tests→Object Storage Multicluster objects » can upload, access, and delete objects
create-linode-region-select.spec.tsCloud Manager Cypress Tests→Linode Create Region Select » region select

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/objectStorageMulticluster/object-storage-objects-multicluster.spec.ts,cypress/e2e/core/linodes/create-linode-region-select.spec.ts"

Copy link
Copy Markdown
Contributor

@bill-akamai bill-akamai left a comment

Choose a reason for hiding this comment

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

Was able to verify steps on Staging ✅

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Sep 17, 2025
@smans-akamai smans-akamai merged commit dd41397 into linode:develop Sep 17, 2025
34 of 35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Sep 17, 2025
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 🚨 Urgent

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

5 participants