Skip to content

Conversation

@dwiley-akamai
Copy link
Contributor

Description πŸ“

Add VPC IPv6 support in Linode Add/Edit Config dialog

Changes πŸ”„

  • Move several constants and helper functions to constants.ts and utilities.tsx, respectively
  • Add UpdateConfigProfileInterfacesSchema and use it in UpdateLinodeConfigSchema to avoid type/schema errors
  • Add VPC IPv6 support in Linode Add/Edit Config dialog

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 πŸ—“οΈ

January 2026

Preview πŸ“·

Before After
Screenshot 2025-12-16 at 5 10 21β€―PM Screenshot 2025-12-16 at 5 14 47β€―PM

How to test πŸ§ͺ

Prerequisites

Ensure the VPC IPv6 feature flag is on and your account has VPC IPv6 customer tags.

Verification steps

  1. Edit the config of a Linode not assigned to a VPC
  • Form submission should go through with no issues
  • If the linode is in a region that you have a Dual Stack VPC in, you should see the VPC IPv6 fields if you select "VPC" for one of the eth slots
  1. Edit the config of a Linode assigned to a single stack VPC
  • You should not see IPv6 fields in the dialog
  • Form submission should go through with no issues
  1. Edit the config of a Linode assigned to a Dual Stack VPC
  • With the feature flag on and your account having the appropriate customer tags, you should see the VPC IPv6 fields
  • Errors should get surfaced for VPC IPv6 and IPv6 range fields
  • If you make a non-IPv6-related change to the VPC eth slot, the payload and response should reflect no IPv6 data changes (this relates to the handleChange functions in InterfaceSelect.tsx)
  • Form submission should go through with no issues
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

@dwiley-akamai dwiley-akamai marked this pull request as draft December 17, 2025 19:37
…required() from range property in slaacSchema; make range property of IPv6SLAAC optional (edge case where it does not get returned) & minor related change in getLinodeInterfaceIPs() util
@dwiley-akamai dwiley-akamai marked this pull request as ready for review December 19, 2025 17:59
@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

πŸ”Ί 2 failing tests on test run #7 β†—οΈŽ

❌ Failingβœ… Passingβ†ͺ️ SkippedπŸ• Duration
2 Failing865 Passing11 Skipped45m 3s

Details

Failing Tests
SpecTest
❌object-storage.e2e.spec.tsCloud Manager Cypress Testsβ†’object storage end-to-end tests Β» can create and delete object storage buckets
❌clone-linode.spec.tsCloud Manager Cypress Testsβ†’clone linode Β» can clone a Linode from Linode details page

Troubleshooting

Use this command to re-run the failing tests:

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

@bnussman-akamai bnussman-akamai self-requested a review December 19, 2025 22:13
@bnussman-akamai
Copy link
Member

bnussman-akamai commented Dec 23, 2025

For cases where we're using legacy config profile interfaces, an IPv6 VPC is attached, and I check "Allow public IPv6 access", should these notices go away?

Screenshot 2025-12-23 at 10 30 08β€―AM

Screenshot 2025-12-23 at 10 32 31β€―AM

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.

Things seems to be working well!

There may or may not be more work needed on what gets shown to the user when a VM has no internet connectivity

const [newVlan, setNewVlan] = React.useState('');

const [autoassignIPv6VPCAddress, setAutoassignIPv6VPCAddress] =
React.useState<boolean>(false);
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we default this to true similar to IPv4?

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Dec 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Approved

Development

Successfully merging this pull request may close these issues.

5 participants