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-8613] - Restrict Image Upload to regions with Object Storage #11038

Conversation

bnussman-akamai
Copy link
Member

Description 📝

  • Adds a feature flag that allows us to only show regions with Object Storage capability on the Image Upload page 🌎
    • Image Service Gen2 uses Object Storage as a storage backend, so that's why we use that capability
    • We using a flag because we will coordinate with API and let customers know before we make this change 🎏
  • This is part of the Image Service Gen2 effort 💾

Preview 📷

Before After
Screenshot 2024-10-02 at 11 35 44 AM Screenshot 2024-10-02 at 11 36 06 AM

How to test 🧪

  • Use Launch Darkly to toggle the flag
  • Verify regions get filtered appropriately
    • Flag Off: Should show all core regions
    • Flag On: Should only show regions with Object Storage

As an Author I have 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

@bnussman-akamai bnussman-akamai self-assigned this Oct 2, 2024
@bnussman-akamai bnussman-akamai requested a review from a team as a code owner October 2, 2024 15:38
@bnussman-akamai bnussman-akamai requested review from hana-akamai and cpathipa and removed request for a team October 2, 2024 15:38
* Ignores account availability information when rendering region options
* @default false
*/
ignoreAccountAvailability?: boolean;
Copy link
Member Author

@bnussman-akamai bnussman-akamai Oct 2, 2024

Choose a reason for hiding this comment

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

We are simply using "Object Storage" as the capability.
We only want to show regions with "Object Storage" because Images Gen2 uses Object Storage under the hood.

We want to make sure we don't want to take the customer's Object Storage availability into account because it isn't representative of their ability to upload images.

Copy link

github-actions bot commented Oct 2, 2024

Coverage Report:
Base Coverage: 87.19%
Current Coverage: 87.19%

@bnussman-akamai bnussman-akamai requested a review from a team as a code owner October 2, 2024 20:03
@bnussman-akamai bnussman-akamai requested review from cliu-akamai and removed request for a team October 2, 2024 20:03
@@ -95,6 +95,7 @@ export interface Flags {
databases: boolean;
dbaasV2: BetaFeatureFlag;
disableLargestGbPlans: boolean;
disallowImageUploadToNonObjRegions: boolean;
Copy link
Member Author

Choose a reason for hiding this comment

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

I'm using a dedicated flag for this because I've been having a hard time getting an exact timeline for when this needs to be live.

It aligns with the API's feature flag

@hana-akamai
Copy link
Contributor

hana-akamai commented Oct 3, 2024

Should we display, but disable regions without Object Storage capability instead similar to Linode Create?

@bnussman-akamai
Copy link
Member Author

I'm thinking no because products like VPC for example just filter the list rather than disable options but I will ask UX! @hana-linode

@bnussman-akamai
Copy link
Member Author

UX confirmed they want to filter out incompatible regions for the reason constancy with other parts of the app and to reduce cognitive load so the user can make a choice faster. @hana-linode

@hana-akamai hana-akamai added the Add'tl Approval Needed Waiting on another approval! label Oct 7, 2024
@bnussman-akamai bnussman-akamai added Approved Multiple approvals and ready to merge! and removed Add'tl Approval Needed Waiting on another approval! labels Oct 8, 2024
@bnussman-akamai bnussman-akamai merged commit 1922af4 into linode:develop Oct 8, 2024
20 checks passed
Copy link

cypress bot commented Oct 8, 2024

Cloud Manager E2E    Run #6642

Run Properties:  status check passed Passed #6642  •  git commit 1922af492d: upcoming: [M3-8613] - Restrict Image Upload to regions with Object Storage (#110...
Project Cloud Manager E2E
Run status status check passed Passed #6642
Run duration 28m 20s
Commit git commit 1922af492d: upcoming: [M3-8613] - Restrict Image Upload to regions with Object Storage (#110...
Committer Banks Nussman
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 3
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 429

hasyed-akamai pushed a commit to hasyed-akamai/manager that referenced this pull request Oct 9, 2024
…orage (linode#11038)

* limit upload regions based on feature flag

* add flag to disallow non-obj regions

* update cypress test to use compatible region

* Added changeset: Restrict Image Upload to regions with Object Storage

---------

Co-authored-by: Banks Nussman <[email protected]>
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! Image Service Gen2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants