Skip to content

Conversation

@ankita-akamai
Copy link
Contributor

@ankita-akamai ankita-akamai commented Sep 25, 2025

Description 📝

Handle integration of Object Storage in Metrics.

Changes 🔄

Note
This pr has temporary integration in service page at Object Storage -> Metrics to visualize contextual view dashboard for Object Storage. These files would be removed after pr reviews and review is not needed for them - 1. ObjectStorage/BucketDetail/index.tsx 2. Routes/ObjectStorage/index.ts.

  • Updatetypes.ts according to new service requirements.
  • Update reusable component CloudPulseDashboardWithFilters.tsx - Add optional prop region as it is required for /metrics payload. Update resource (id) type.
  • Update CloudPulseWidgetUtils.tsx to handle special conditions for new service.
  • Update filterConfig at filterConfig.ts - Add objectstorage service filters.
  • Add test cases, update queries, update mocks.

Scope 🚢

Upon production release, changes in this PR will be visible to:

  • All customers
  • Some customers (e.g. in Beta or Limited Availability)
  • No customers / Not applicable

Target release date 🗓️

1st October 2025

Preview 📷

Centralized view 👇:

Screen.Recording.2025-09-17.at.11.52.10.AM.mov

Saved Preferences on page refresh 👇:

Screen.Recording.2025-09-17.at.11.53.43.AM.mov

Contextual View:
image

How to test 🧪

Verification steps

Add this temporary snippet at line 165 in file cloudpulse/queries.ts to see buckets in devCloud -
// Filter the E0, E1 endpoint_type out and return the buckets // return allBuckets.buckets.filter( // (bucket) => bucket.endpoint_type !== 'E0' && bucket.endpoint_type !== 'E1' // ); return allBuckets.buckets;

VsCode Example -
image

This is required to temporarily see some buckets in the filters as we are filtering out E0 and E1 buckets, and currently, devCloud doesn't contain any Gen2 buckets (E2,E3).

Verify in DevCloud env:
Centralized View:

  • Navigate to /metrics page under monitor.
  • Select Object Storage Dashboard.
  • Verify that the filters (labels, placeholders, helpertexts, etc.) are as per figma -> https://www.figma.com/design/2x7VRVdgrjegSJ5lFxoKMv/Standard-Dashboards?node-id=12527-10756&p=f&t=5PdJ5C9HWZ1j74dP-0
  • Verify that Endpoints and Buckets Filter is disabled when no region is selected.
  • Select a region, verify that the available options in Endpoints filter belong to the selected region only.
  • Select an endpoint, verify that the available options in Buckets filter are associated with selected region and selected endpoint.
  • Open networks tab in dev tools.
  • Select one or more buckets and verify that the /metrics api call's payload matches the structure given below ->

/Metrics Request Payload

image

Contextual View:

  • Open networks tab in dev tools.
  • Navigate to metrics tab under Object Storage.
  • Verify that no other filters appear apart from a default selected dashboards-select and a time-range filter.
  • Verify that the /metrics api call gets fired as soon as the user has switched to metrics tab and call's payload matches the structure given below ->
image
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 tests and CI checks are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules
-->

@ankita-akamai
Copy link
Contributor Author

Note
This pr has temporary integration in service page at Object Storage -> Metrics to visualize contextual view dashboard for Object Storage. These files would be removed after pr reviews and review is not needed for them - 1. ObjectStorage/BucketDetail/index.tsx 2. Routes/ObjectStorage/index.ts.

@ankita-akamai ankita-akamai marked this pull request as ready for review September 25, 2025 06:37
@ankita-akamai ankita-akamai requested a review from a team as a code owner September 25, 2025 06:37
@ankita-akamai ankita-akamai requested review from bnussman-akamai and cpathipa and removed request for a team September 25, 2025 06:37
<SafeTabPanel index={tabs.length - 1}>
<BucketSSL bucketName={bucketName} clusterId={clusterId} />
</SafeTabPanel>
<SafeTabPanel index={tabs.length - 1}>
Copy link
Member

Choose a reason for hiding this comment

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

The SSL tab and this tab have the same index. We should probably just hardcode them to 2 and 3

Suggested change
<SafeTabPanel index={tabs.length - 1}>
<SafeTabPanel index={3}>

Copy link
Contributor Author

@ankita-akamai ankita-akamai Sep 26, 2025

Choose a reason for hiding this comment

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

@bnussman-akamai Sure, that is right! As of now the two files I mentioned above are temporary, they are just for review(demo/verification) purpose, will remove them after pr review before merging this pr.
image

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Sep 29, 2025
@ankita-akamai
Copy link
Contributor Author

ankita-akamai commented Sep 29, 2025

Note: Working on removal of temporary changes as the pr is approved, added do not merge label until then!

@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 4 failing tests on test run #9 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
4 Failing822 Passing13 Skipped45m 10s

Details

Failing Tests
SpecTest
create-firewall.spec.tsCloud Manager Cypress Tests→create firewall » "before all" hook for "creates a firewall without a linode"
create-firewall.spec.tsCloud Manager Cypress Tests→restricted user cannot create firewall » "before each" hook for "confirms the create button is disabled on the Firewall Landing page"
clone-linode.spec.tsCloud Manager Cypress Tests→clone linode » can clone a Linode from Linode details page
vpc-details-page.spec.tsCloud Manager Cypress Tests→VPC details page » can create, edit, and delete a subnet from the VPC details page

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/firewalls/create-firewall.spec.ts,cypress/e2e/core/linodes/clone-linode.spec.ts,cypress/e2e/core/vpc/vpc-details-page.spec.ts"

@nikhagra-akamai nikhagra-akamai merged commit 6d1e350 into linode:develop Sep 30, 2025
34 of 35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Sep 30, 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.

4 participants