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

feat: [M3-7445] - Public IP Addresses Tooltip and LISH Display #11070

Merged
merged 8 commits into from
Oct 16, 2024

Conversation

carrillo-erik
Copy link
Contributor

@carrillo-erik carrillo-erik commented Oct 9, 2024

Description 📝

Enable Public IP Addresses for VPC-only Linodes and updated the Tooltip text.

These changes follow the discussion in which it was acknowledged that LISH does not use a Public IP Address and this was not known at the time the original design was created.

A VPC-only Linode is a Linode that has at least one config interface with primary set to true and purpose vpc and no ipv4.nat_1_1 value.

Changes 🔄

  • Update Public IP Addresses tooltip copy to "The noted Public IP Addresses are provisionally reserved but not assigned to the network interfaces in this configuration profile. Learn more"
  • Tooltip Learn more URL was not updated to the one specified in the mockup (https://www.linode.com/docs/) since our docs are now found at (https://techdocs.akamai.com/cloud-computing/docs/)
  • Update the LISH Console via SSH terminal command text to be displayed as enabled.
  • Improve unit test coverage.

Target release date 🗓️

10/14/2024

Preview 📷

Before After
Screenshot 2024-10-15 at 11 40 19 AM Screenshot 2024-10-15 at 11 40 31 AM
Screenshot 2024-10-15 at 11 41 02 AM Screenshot 2024-10-15 at 11 41 14 AM

How to test 🧪

Prerequisites

(How to setup test environment)

  • Ensure your account has vpc customer tags
  • Have a VPC-only Linode
    • You can either create a Linode and add a VPC or edit a Linode's config so that the primary interface is VPC. (make sure the assign a public IPv4 address checkbox is unchecked)

Verification steps

(How to verify changes)

  • For VPC-only Linode

    • The Public IP Addresses and Access sections in the Linode's details page should be disabled and there should be a tooltip
  • For non-VPC Linodes

    • The Public IP Addresses and Access sections in the Linode's details page should be disabled and there should not be a tooltip.

As an Author I have considered 🤔

Check all that apply

  • 👀 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

@carrillo-erik carrillo-erik self-assigned this Oct 9, 2024
@carrillo-erik carrillo-erik added the VPC Relating to VPC project label Oct 9, 2024
@carrillo-erik carrillo-erik marked this pull request as ready for review October 9, 2024 17:10
@carrillo-erik carrillo-erik requested a review from a team as a code owner October 9, 2024 17:10
@carrillo-erik carrillo-erik requested review from dwiley-akamai, coliu-akamai and hana-akamai and removed request for a team October 9, 2024 17:10
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I originally opened this PR as a Draft PR as I was trying to understand the acceptance criteria. Based on my understanding I believe this file should be deleted and replaced with PublicIPAddressesTooltip, rather than renamed and updated. Before I actually delete the file I commented it out, and will await PR feedback.

Copy link
Contributor

Choose a reason for hiding this comment

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

Seems like it would come out to basically the same either way

Copy link
Contributor

@dwiley-akamai dwiley-akamai left a comment

Choose a reason for hiding this comment

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

"Public IP Addresses" tooltip copy is updated for VPC-only linodes ✅

In creating a linode to test this PR, I noticed a bug in the new Linode Create flow -- if the linode is assigned to a VPC during creation, that VPC interface should be marked as primary. See the relevant Linode Create v1 code:

That doesn't seem to be happening in the new flow as I had to resave the config after creation to trigger that setting

Copy link
Contributor

Choose a reason for hiding this comment

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

Seems like it would come out to basically the same either way

Copy link
Contributor

Choose a reason for hiding this comment

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

There's a potential contradiction in the ticket because the mockup shows the "Public IP Addresses" and "Access" fields as being enabled, but the description only mentions, "Update the LISH Console via SSH terminal command text to be displayed as enabled." Did UX confirm that all of the fields under those headers should be enabled?

Copy link
Contributor Author

@carrillo-erik carrillo-erik Oct 11, 2024

Choose a reason for hiding this comment

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

That was my confusion. I looked at the other tickets referenced in the Jira ticket and the conversation was such that we initially disabled the entire right side of the LinodeEntityDetailBody and show the tooltip. Then it was decided to not disable the right side of the LinodeEntityDetailBody and instead just update the text copy of the tooltip. Those are the changes done in this PR.

Both people who would have more context are OOO until Monday. I've reached out to them., we can wait to hear from them.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@dwiley-akamai Please review comment and updated mock from UX in the relevant ticket for this PR.

@carrillo-erik
Copy link
Contributor Author

In creating a linode to test this PR, I noticed a bug in the new Linode Create flow -- if the linode is assigned to a VPC during creation, that VPC interface should be marked as primary. See the relevant Linode Create v1 code:

That doesn't seem to be happening in the new flow as I had to resave the config after creation to trigger that setting

I can create a separate bug ticket to address this issue as I can replicate it myself.

@carrillo-erik carrillo-erik added the Add'tl Approval Needed Waiting on another approval! label Oct 11, 2024
@carrillo-erik carrillo-erik requested a review from a team as a code owner October 15, 2024 13:12
@carrillo-erik carrillo-erik requested review from AzureLatte and removed request for hana-akamai and a team October 15, 2024 13:12
@carrillo-erik carrillo-erik added Ready for Review and removed Add'tl Approval Needed Waiting on another approval! labels Oct 15, 2024
Copy link
Contributor

@dwiley-akamai dwiley-akamai left a comment

Choose a reason for hiding this comment

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

Code review ✅

Tooltip copy and URL updated ✅

"Access" section now enabled for VPC-only linode ✅

"Public IP Addresses" and "Access" sections for non-VPC-only linodes not adversely impacted by changes ✅

Copy link
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.

✅ confirmed updated tooltip copy/link and Access section is enabled for vpc-only linode
✅ confirmed Public IP Addresses and Access section remain the same for non vpc-only linodes
✅ confirm additional test coverage passes + e2e test failures look unrelated

Thanks Erik!

@@ -170,6 +170,7 @@ export const LinodeEntityDetailBody = React.memo((props: BodyProps) => {
)}
</StyledSummaryGrid>
</Grid>

Copy link
Contributor

Choose a reason for hiding this comment

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

looks like some extra spacing snuck into this file (unless you meant to include it!)

@coliu-akamai coliu-akamai added the Approved Multiple approvals and ready to merge! label Oct 16, 2024
@carrillo-erik carrillo-erik merged commit 621e1ec into linode:develop Oct 16, 2024
20 of 23 checks passed
Copy link

cypress bot commented Oct 16, 2024

Cloud Manager E2E    Run #6687

Run Properties:  status check failed Failed #6687  •  git commit 621e1ec3d0: feat: [M3-7445] - Public IP Addresses Tooltip and LISH Display (#11070)
Project Cloud Manager E2E
Run status status check failed Failed #6687
Run duration 30m 23s
Commit git commit 621e1ec3d0: feat: [M3-7445] - Public IP Addresses Tooltip and LISH Display (#11070)
Committer carrillo-erik
View all properties for this run ↗︎

Test results
Tests that failed  Failures 1
Tests that were flaky  Flaky 6
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 436

Tests for review

Failed  cypress/e2e/core/oneClickApps/one-click-apps.spec.ts • 1 failed test

View Output Video

Test Artifacts
OneClick Apps (OCA) > Lists all the OneClick Apps Screenshots Video
Flakiness  linodes/clone-linode.spec.ts • 1 flaky test

View Output Video

Test Artifacts
clone linode > can clone a Linode from Linode details page Screenshots Video
Flakiness  objectStorageGen2/bucket-create-gen2.spec.ts • 3 flaky tests

View Output Video

Test Artifacts
Object Storage Gen2 create bucket tests > can create a bucket with E0 endpoint type Screenshots Video
Object Storage Gen2 create bucket tests > can create a bucket with E1 endpoint type Screenshots Video
Object Storage Gen2 create bucket tests > can create a bucket with E2 endpoint type Screenshots Video
Flakiness  linodes/linode-config.spec.ts • 1 flaky test

View Output Video

Test Artifacts
Linode Config management > End-to-End > Clones a config Screenshots Video
Flakiness  general/account-login-redirect.spec.ts • 1 flaky test

View Output Video

Test Artifacts
account login redirect > should redirect to the login page when the user is not authorized Screenshots Video

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! VPC Relating to VPC project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants