Skip to content

Conversation

@dwiley-akamai
Copy link
Contributor

@dwiley-akamai dwiley-akamai commented Mar 12, 2025

Description πŸ“

Currently in staging, users with the "Disk Encryption" account capability are unable to deploy to regions that only have the "LA Disk Encryption" capability. This PR updates the logic checking if a region supports LDE to account for both the "Disk Encryption" (indicates GA) and "LA Disk Encryption" (indicates LA) capabilities.

Target release date πŸ—“οΈ

3/17/25

How to test πŸ§ͺ

There should be no adverse impacts on the LDE functionality outlined in #11817.

On this branch, pointing at staging, a user with the linode_disk_encryption customer tag should be able to deploy to not only regions with the "Disk Encryption" capability, but the "LA Disk Encryption" capability as well. The expectation at this moment is for Frankfurt to have the "Disk Encryption" capability and all others to have "LA Disk Encryption" but you can confirm by checking the /regions network request

Additionally, the encryption status indicators found on the Linode Details page and LKE Details page (at the node pool table level) should not display tooltips if the region the entities are in do not support LDE.

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 unit tests are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@mjac0bs
Copy link
Contributor

mjac0bs commented Mar 12, 2025

cc @dwiley-akamai if possible to make this change in this PR while doing changelog updates:

#11797 (comment)

@dwiley-akamai dwiley-akamai changed the title refactor: [M3-9532] – Account for "LA DIsk Encryption" region capability in regionSupportsDiskEncryption checks refactor: [M3-9532] – Account for "LA Disk Encryption" region capability in regionSupportsDiskEncryption checks Mar 12, 2025
@dwiley-akamai dwiley-akamai marked this pull request as ready for review March 13, 2025 16:36
@dwiley-akamai dwiley-akamai requested a review from a team as a code owner March 13, 2025 16:36
@dwiley-akamai dwiley-akamai requested review from carrillo-erik, hasyed-akamai and mjac0bs and removed request for a team March 13, 2025 16:36
@coliu-akamai coliu-akamai self-requested a review March 13, 2025 17:09
mjac0bs
mjac0bs previously approved these changes Mar 13, 2025
Copy link
Contributor

@mjac0bs mjac0bs left a comment

Choose a reason for hiding this comment

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

/regionsΒ requests

  • User with enabled tag, I see the LA Disk Encryption capability for every region. This includes Frankfurt, which has both LA Disk Encryption and Disk Encryption.
  • User without any tag, I see no LA Disk Encryption for any region. Frankfurt includes the Disk Encryption capability as if it’s GA.
  • User with disabled tag, I see no LA Disk Encryption or Disk Encryption capabilities for any regions.

Linode Create flow

  • User with enabled tag: sees the "Disk Encryption" section, regardless of selected region; the checkbox is enabled for every region (GA and LA Disk Encryption)
    • I can create a linode in a Core region
    • I can create a linode in a Distributed region and it is encrypted
  • User without any tag: sees the "Disk Encryption" section, regardless of selected region; the checkbox is disabled for every region but Frankfurt, because it's the only one with 'Disk Encryption' (GA) and not 'LA Disk Encryption'
    • I can create a linode in a Core region
    • I can create a linode in a Distributed region and it is encrypted
  • User with disabled tag does not see the "Disk Encryption" section
    • I can create a linode in a Core region
    • I can create a linode in a Distributed region and it is encrypted - noting that this wasn't made clear in documentation but is an assumption that the default encryption would take precedence over the disabled tag

Linode Details page

  • User with enabled tag: sees encryption status indicator in the summary panel and a tooltip explaining encryption can be enabled by rebuilding (all regions support at least LA LDE)
  • User without any tag: sees encryption status indicator in the summary panel and only sees the tooltip if the region the linode is in supports LDE
  • User with disabled tag does not see the encryption status indicator (note: we might want to revisit in the future for Distributed region linodes where this is enabled by default)

Linode Rebuild flow

  • User with enabled tag: sees "Disk Encryption" section, and default checkbox status should match the linode's current encryption status (i.e., unchecked if linode is currently not encrypted, checked if linode currently is)
  • User without any tags: sees "Disk Encryption" section, and default checkbox status should match the linode's current encryption status (i.e., unchecked if linode is currently not encrypted, checked if linode currently is)
  • User with disabled tag does not see the "Disk Encryption" section

LKE landing page banner

  • User with enabled tag: should see banner (unless it has been dismissed)
  • User without any tags: should see banner (unless it has been dismissed)
  • User with disabled tag does not see the "Disk Encryption" section

LKE Details page

  • User with enabled tag: should always be able to see pool encryption status indicator (and tooltip depends on LDE availability in region)
  • User without any tags: should always be able to see pool encryption status indicator (and tooltip depends on LDE availability in region)
  • User with disabled tag: does not see the encryption status indicator

@mjac0bs mjac0bs added the Add'tl Approval Needed Waiting on another approval! label Mar 13, 2025
@github-actions
Copy link

github-actions bot commented Mar 13, 2025

Coverage Report: βœ…
Base Coverage: 80.18%
Current Coverage: 80.18%

@coliu-akamai
Copy link
Contributor

coliu-akamai commented Mar 13, 2025

Going through stuff from the linked pr - I'm not too sure if my understanding of this feature is correct, but here's what I've been seeing:

tag combinations:

  • disk_encryption tag
  • disk-encryption-disabled tag
  • both disk_encryption and disk-encryption-disabled
  • no tags

/regionsΒ requests
βœ… User w disk_encryption tag: should see "Disk Encryption" as a capability for Frankfurt, DE and "LA" for other (non distributed) regions
βœ… User only disk-encryption-disabled tag: don't see anything
βœ… User w disk_encryption tag and disk-encryption-disabled tag: don't see anything
βœ… no tag: seeing "Disk Encryption" for Frankfurt, but no LA for other regions

Linode Create flow - testing both distributed and non distributed
βœ… disk_encryption tag - always seeing Disk encryption section, regardless of selected region. Section disabled and checked for distributed Linodes once region selected
βœ… disk-encryption-disabled - no section seen (both distributed and non-distributed)
βœ… disk_encryption and disk-encryption-disabled - no section seen (both distributed and non-distributed)
βœ… no tag: see Disk encryption section disabled for every region except DE frankfurt, able to create a Linode in DE frankfurt. For distributed, seeing section disabled and once region selected, checked

Linode Details page - non distributed Linodes
βœ… disk_encryption tag - seeing Disk encryption status + tooltip if Linode is not encrypted
βœ… disk-encryption-disabled - no status seen
βœ… disk_encryption and disk-encryption-disabled - no status seen
βœ… no customer tags tag: see Disk encryption status for for all my linodes (but no tooltip if not encrypted bc no support)

Linode Rebuild flow - non distributed Linodes
βœ… disk_encryption tag - seeing enabled Disk Encryption status for various regions (Frankfurt, Atlanta, etc)
βœ… disk-encryption-disabled - no status seen
βœ… disk_encryption and disk-encryption-disabled - no status seen
βœ… no tags - seeing enabled Disk Encryption for Frankfurt linode, seeing it disabled for other regions

LKE landing page banner
βœ… disk_encryption tag - banner appears
βœ… disk-encryption-disabled - no banner seen
βœ… disk_encryption and disk-encryption-disabled - no banner seen
βœ… no tags - banner appears

LKE Details page
βœ… ❓ disk_encryption tag - status seen + tooltip if node pool is not encrypted (I'm a bit unfamiliar - for LKE, I created a new node pool but it still had the tooltip saying "New node pools are always encrypted". Is this expected?)
βœ… disk-encryption-disabled - no status indicator seen
βœ… disk_encryption and disk-encryption-disabled - no indicator seen
βœ… no tags - seeing not encrypted status indicator (only one region - Dallas, Texas)

@coliu-akamai
Copy link
Contributor

going to walk through some stuff with distributed Linodes, but things are looking good so far! one question for the LKE details page

@dwiley-akamai
Copy link
Contributor Author

@coliu-akamai apologies if it was unclear -- there shouldn't be a situation where a user has both the linode_disk_encryption and linode-disk-encryption-disabled tags.

With the latest commits on this PR, you shouldn't see a tooltip for unencrypted linodes or node pools if the region the entities are in do not support LDE

mjac0bs
mjac0bs previously approved these changes Mar 17, 2025
Copy link
Contributor

@mjac0bs mjac0bs left a comment

Choose a reason for hiding this comment

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

Approving this based on our latest testing. Confirmed all Linode actions at least kick off as expected for encrypted and non-encrypted Linodes.

Confirmed changes for Disk Encryption box to be checked in the create flow if Disk Encryption is enabled in either LA or GA for that region look good.

This looks good from a UI perspective and outstanding errors are on the API side, so we should be good to merge this to staging; we'll need an update from them on status of fixes.

jaalah-akamai
jaalah-akamai previously approved these changes Mar 17, 2025
Copy link
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.

User Flow w/ Disabled Tag:

  • Can Rebuild
  • Can Clone
  • Can Migrate
  • Can Resize
  • Can Rescue
  • Can Delete

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Mar 17, 2025
@mjac0bs mjac0bs added Approved Multiple approvals and ready to merge! and removed Add'tl Approval Needed Waiting on another approval! labels Mar 17, 2025
@dwiley-akamai dwiley-akamai dismissed stale reviews from jaalah-akamai and mjac0bs via c5fcfbb March 17, 2025 16:41
@dwiley-akamai
Copy link
Contributor Author

@mjac0bs @jaalah-akamai Sorry about the dismissals ☹️

@carrillo-erik
Copy link
Contributor

I can confirm that the following flows work with the tag combinations specified.

  • Linode Create
  • Linode Details
  • LKE Details and Banner
  • regions requests

@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

πŸŽ‰ 535 passing tests on test run #9 β†—οΈŽ

❌ Failingβœ… Passingβ†ͺ️ SkippedπŸ• Duration
0 Failing535 Passing3 Skipped112m 38s

@dwiley-akamai dwiley-akamai merged commit 1620b37 into linode:staging Mar 17, 2025
24 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Mar 17, 2025
@dwiley-akamai dwiley-akamai deleted the M3-9532-account-for-la-disk-encryption branch March 17, 2025 17:45
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! Linode Disk Encryption (LDE) Relating to LDE project

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

7 participants