Skip to content

fix: [M3-10215] - Update cluster version upgrade dialog for LKE-E#12443

Merged
mjac0bs merged 8 commits intolinode:developfrom
mjac0bs:M3-10215-lke-e-cluster-upgrade-flow
Jul 1, 2025
Merged

fix: [M3-10215] - Update cluster version upgrade dialog for LKE-E#12443
mjac0bs merged 8 commits intolinode:developfrom
mjac0bs:M3-10215-lke-e-cluster-upgrade-flow

Conversation

@mjac0bs
Copy link
Copy Markdown
Contributor

@mjac0bs mjac0bs commented Jun 27, 2025

Description 📝

LKE-E upgrades function differently than LKE upgrades. The existing behavior for cluster version upgrades is not correct for LKE-E clusters, and LKE team has requested that we remove the "Upgrade Complete" (step 2) modal for LKE-E.

When the user clicks the Upgrade Version button, after the control plane is upgraded, the "Upgrade Complete" message is shown, encouraging users to recycle their nodes. It makes sense in standard because all new nodes for any node pool after an upgrade will be the new version; you don’t need to upgrade the node pools. For LKE-E, Recycle All Nodes will replace all existing worker nodes, but with the older - not upgraded - version. There is a second step for LKE-E clusters where the node pool version must be updated for the nodes to be on the same version as the cluster.

Read more about all this here.

Changes 🔄

  • Update the conditional checks that show step 2 of the modal to account for the cluster tier
  • Update the modal copy and a docs link for LKE-E clusters
  • Update test coverage

Target release date 🗓️

7/15

Preview 📷

Before After
Screenshot 2025-06-27 at 11 49 58 AM Screenshot 2025-06-27 at 11 42 34 AM
Screen.Recording.2025-06-27.at.11.48.56.AM.mov
Screen.Recording.2025-06-27.at.11.41.40.AM.mov

How to test 🧪

Prerequisites

(How to setup test environment)

  • If you don't have an existing LKE-E cluster on an older version, you can mock one with the MSW.
    • Turn on CRUD mode, make sure your account has the LKE-E customer tag (see project tracker), make sure LKE-Enterprise feature flag is enabled
    • Create a new mock LKE-E cluster on the oldest listed Kubernetes Version

Reproduction steps

(How to reproduce the issue, if applicable)

  • Check out develop and:
    • Have a cluster on an older version of LKE-E
    • Click the Upgrade Version modal
    • Observe the cluster version is updated
    • Click Recycle Nodes
    • (When nodes come back up after being recycled, they'd be a different version than the cluster - this part isn't mocked)

Verification steps

(How to verify changes)

  • Check out this branch and and:
    • Have a cluster on an older version of LKE-E
    • From either the cluster landing page or the cluster details page:
    • Click the 'Upgrade' chip or button in the info notice
      • Observe the copy is updated
    • Observe the cluster version is updated
    • Observe no step two to recycle the nodes appears
  • Ensure tests pass (lke-update and lke-landing)
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 mjac0bs marked this pull request as ready for review June 27, 2025 19:00
@mjac0bs mjac0bs requested review from a team as code owners June 27, 2025 19:00
@mjac0bs mjac0bs requested review from bnussman-akamai, cliu-akamai and coliu-akamai and removed request for a team June 27, 2025 19:00
@linode-gh-bot
Copy link
Copy Markdown
Collaborator

Cloud Manager UI test results

🔺 1 failing test on test run #3 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
1 Failing665 Passing4 Skipped154m 13s

Details

Failing Tests
SpecTest
smoke-community-stackscripts.spec.tsCloud Manager Cypress Tests→Community Stackscripts integration tests » Community Stackscripts integration tests

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/stackscripts/smoke-community-stackscripts.spec.ts"

@mjac0bs mjac0bs added the Add'tl Approval Needed Waiting on another approval! label Jun 30, 2025
Copy link
Copy Markdown
Contributor

@coliu-akamai coliu-akamai left a comment

Choose a reason for hiding this comment

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

💹 observed copy updates and version is upgraded
✅ tests

thanks @mjac0bs! 🎉

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Jul 1, 2025
@coliu-akamai coliu-akamai added Approved Multiple approvals and ready to merge! and removed Add'tl Approval Needed Waiting on another approval! labels Jul 1, 2025
@mjac0bs
Copy link
Copy Markdown
Contributor Author

mjac0bs commented Jul 1, 2025

I'm going to merge this despite a defunct CI because the only change since e2es ran last was a changelog copy change and merge with develop. Related lke tests still pass locally.

@mjac0bs mjac0bs merged commit 25b9a6e into linode:develop Jul 1, 2025
32 checks passed
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! LKE-Enterprise

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants