Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

upcoming: [M3-8848] - Update Kubernetes version Autocomplete to filter on LKE-E versions #11359

Merged

Conversation

mjac0bs
Copy link
Contributor

@mjac0bs mjac0bs commented Dec 3, 2024

Description 📝

When a user selects LKE-Enterprise as their cluster type, we will need to ensure the Kubernetes versions for the enterprise tier are displayed and the versions for the standard tier are not.

Note: UX has noted that there is a potential drop off at the version field in LKE during cluster creation. Potential helper text/tooltip may be added. Update: this will be done in M3-8992, dependent on what docs we link (and where) to help.

Changes 🔄

  • Fixed a missing return in the useKubernetesTieredVersionsQuery hook
  • Used this hook in the Create Cluster flow to fetch tiered ('standard' and 'enterprise') versions
  • Updated the logic for the Kubernetes Version autocomplete selection to use tiered versions with the LKE-E feature enabled
  • Updated the payload with a tier if the LKE-E feature is enabled so that the enterprise cluster can be created
  • Updated test coverage in lke-create.spec.ts

Preview 📷

Screen.Recording.2024-12-03.at.8.37.00.AM.mov

How to test 🧪

Prerequisites

(How to setup test environment)

  • Have LKE-E customer tag on your account (see Project Tracker)

Verification steps

(How to verify changes)

  • Go to http://localhost:3000/kubernetes/create
  • Confirm the following with the feature flag ON:
    • The version select shows the latest standard LKE version by default (e.g. 1.31)
    • When the user selects LKE Enterprise as their cluster type, the version select shows only LKE-E versions
    • The user can toggle back to standard versions by selecting LKE as the cluster type
    • The user can create an enterprise cluster by selecting a region in which LKE-E is available (e.g. Chicago), a current enterprise k8 version, and submitting the form
    • The user can create a standard cluster by selection any region, a current standard k8 version, and submitting the form
  • Confirm the following with the feature flag OFF:
    • No regressions to the version select and the existing endpoint (/versions) is used
    • No regressions to the user's ability to create an LKE cluster
  • Confirm test coverage passes:
yarn cy:run -s "cypress/e2e/core/kubernetes/lke-create.spec.ts"
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 self-assigned this Dec 3, 2024
@mjac0bs mjac0bs marked this pull request as ready for review December 3, 2024 16:52
@mjac0bs mjac0bs requested review from a team as code owners December 3, 2024 16:52
@mjac0bs mjac0bs requested review from jdamore-linode, carrillo-erik and abailly-akamai and removed request for a team December 3, 2024 16:52
@mjac0bs mjac0bs requested a review from hana-akamai December 3, 2024 16:56
@mjac0bs mjac0bs added Ready for Review UX/UI Changes for UI/UX to review labels Dec 3, 2024
Copy link
Contributor

@jdamore-linode jdamore-linode left a comment

Choose a reason for hiding this comment

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

Thanks Mariah, the test is looking good! I really like how you're building it out piece-by-piece alongside the rest of the feature work.

I am seeing some rare failures when running it repeatedly, but couldn't figure out if it's a test issue or an app issue. I posted a comment with everything I know. Hoping to take a closer look in the next day or so, but happy to help out if you have any questions, trouble reproducing, etc.!

Forgot to fix this after I was messing around with things

Co-authored-by: jdamore-linode <97627410+jdamore-linode@users.noreply.github.com>
Copy link

github-actions bot commented Dec 9, 2024

Coverage Report:
Base Coverage: 86.84%
Current Coverage: 86.84%

@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🎉 467 passing tests on test run #8 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
0 Failing467 Passing2 Skipped102m 20s

@mjac0bs mjac0bs removed the UX/UI Changes for UI/UX to review label Dec 10, 2024
@mjac0bs
Copy link
Contributor Author

mjac0bs commented Dec 10, 2024

Tests looking stable and any further UX enhancements saved (M3-8922) until we have a better idea of any versioning API updates coming from the backend, this PR is good for re-review as is.

@mjac0bs mjac0bs added the Add'tl Approval Needed Waiting on another approval! label Dec 10, 2024
Copy link
Contributor

@hana-akamai hana-akamai left a comment

Choose a reason for hiding this comment

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

Looks good!

  • Confirm the following with the feature flag ON:
    • The version select shows the latest standard LKE version by default (e.g. 1.31)
    • When the user selects LKE Enterprise as their cluster type, the version select shows only LKE-E versions
    • The user can toggle back to standard versions by selecting LKE as the cluster type
    • The user can create an enterprise cluster by selecting a region in which LKE-E is available (e.g. Chicago), a current enterprise k8 version, and submitting the form
    • The user can create a standard cluster by selection any region, a current standard k8 version, and submitting the form
  • Confirm the following with the feature flag OFF:
    • No regressions to the version select and the existing endpoint (/versions) is used
    • No regressions to the user's ability to create an LKE cluster
  • Confirm test coverage passes:

packages/manager/cypress/support/util/lke.ts Show resolved Hide resolved
@hana-akamai hana-akamai added Approved Multiple approvals and ready to merge! and removed Add'tl Approval Needed Waiting on another approval! labels Dec 10, 2024
Copy link
Contributor

@abailly-akamai abailly-akamai left a comment

Choose a reason for hiding this comment

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

Much cleaner, thank you for handling these changes!

Confirming code and functionality ✅

@mjac0bs mjac0bs merged commit 61987af into linode:develop Dec 11, 2024
22 of 23 checks passed
Copy link

cypress bot commented Dec 11, 2024

Cloud Manager E2E    Run #6954

Run Properties:  status check passed Passed #6954  •  git commit 61987af87d: upcoming: [M3-8848] - Update Kubernetes version Autocomplete to filter on LKE-E ...
Project Cloud Manager E2E
Branch Review develop
Run status status check passed Passed #6954
Run duration 29m 06s
Commit git commit 61987af87d: upcoming: [M3-8848] - Update Kubernetes version Autocomplete to filter on LKE-E ...
Committer Mariah Jacobs
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 2
Tests that did not run due to a developer annotating a test with .skip  Pending 2
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 469
View all changes introduced in this branch ↗︎

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
None yet
Development

Successfully merging this pull request may close these issues.

5 participants