Skip to content

Conversation

@hasyed-akamai
Copy link
Contributor

@hasyed-akamai hasyed-akamai commented Jan 29, 2025

Description 📝

This PR refactors the CreateCluster component to use react-hook-form for form state management. It also removes the MultipleIPInput components for cleaner code.

Changes 🔄

  • Used React Hook Form for better state management

Target release date 🗓️

N/A

Verification steps

  • Check if the CreateCluster component's functionality is unaffected by the changes
    • ❗ Reviewers should confirm parity with develop with and without the LKE-Enterprise LA feature flag on
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

@hasyed-akamai hasyed-akamai marked this pull request as ready for review February 6, 2025 12:14
@hasyed-akamai hasyed-akamai requested review from a team as code owners February 6, 2025 12:14
@hasyed-akamai hasyed-akamai requested review from hana-akamai, harsh-akamai and jdamore-linode and removed request for a team February 6, 2025 12:14
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.

Hey @hasyed-akamai, since we already talked about the merge conflicts to resolve to keep parity with recent ACL changes (must be enabled in LKE-E), I'm going to mention a couple of other issues I noticed while testing the branch in its current state:

  • When the LKE-E tier is selected, the Version field doesn't autopopulate, and this also results in no LKE version if the user switches back to the standard tier.
Develop This Branch
develop-version-prefill.mov
version-prefill-regression-this-branch.mov
  • For a standard LKE tier, when the user selects a Region and Plan type and then selects HA/No HA, the Create Cluster button stays disabled and no cluster can be created. Interestingly, the button seems to enable itself if the user toggles the ACL switch after that.
Prod This Branch
ha-selection-prod.mov
regression-ha-this-branch.mov

One thing I did not test at all yet, because I have to figure out how to enable it, is App Platform for Kubernetes (APL). (noting this as a reminder to myself, as well)

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.

Appreciate you doing this refactor, @hasyed-akamai!

With LKE-E being so close to launching in LA, I want to be absolutely sure that there aren't any regressions when we switch over to RHF. Functionality was looking good from my testing so far - thanks for addressing the initial feedback; see the APL PR for one more thing.

I'm still reading through the code changes and will continue that on Monday. Publishing some current comments so you can address them as I go.

@jaalah-akamai
Copy link
Contributor

Waiting on LKE-E release

@mjac0bs
Copy link
Contributor

mjac0bs commented Mar 19, 2025

Noting this for future consideration:

#11856 (comment)

@github-actions
Copy link

github-actions bot commented Apr 4, 2025

This PR is stale because it has been open 15 days with no activity. Please attend to this PR or it will be closed in 5 days

@github-actions github-actions bot added the Stale label Apr 4, 2025
@github-actions github-actions bot closed this Apr 9, 2025
@github-project-automation github-project-automation bot moved this from Changes Requested to Merged in Cloud Manager Apr 9, 2025
@mjac0bs mjac0bs reopened this Apr 9, 2025
@mjac0bs mjac0bs marked this pull request as draft April 9, 2025 21:55
@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 3 failing tests on test run #39 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
3 Failing533 Passing3 Skipped116m 9s

Details

Failing Tests
SpecTest
linode-config.spec.tsEnd-to-End » Clones a config
search-linodes.spec.tsSearch Linodes » create a linode and make sure it shows up in the table and is searchable in main search tool
resize-linode.spec.tsresize linode » resizes a linode by increasing size: warm migration

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/linodes/linode-config.spec.ts,cypress/e2e/core/linodes/search-linodes.spec.ts,cypress/e2e/core/linodes/resize-linode.spec.ts"

mjac0bs added 2 commits April 9, 2025 16:01
…mponent-to-use-react-hook-form"

This reverts commit 955ed0a, reversing
changes made to 84676ad.
@mjac0bs
Copy link
Contributor

mjac0bs commented Apr 9, 2025

🫠 Oh no. This is messy because of the eslint overhaul. Merging develop in added a bunch of linting changes in other files. Reverting the merge commit made it worse?

I think this PR needs to be closed and the RHF changes need to be cherry picked onto a branch that is up to date with develop. @hasyed-akamai - I'm going to try this and see if that works better.

In 955ed0a I had the merge conflicts resolved and things seemed to be working well, except the IP ACL error, which needed its validation handling updated to play nicely with RHF. An integration test failed as an indicator of that.

Also considering a feature flag to render the RHF flow and fall back on the old flow in case there's a major bug in prod when this releases. 🤔

@mjac0bs mjac0bs closed this Apr 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

7 participants