Skip to content

Conversation

@santoshp210-akamai
Copy link
Contributor

Description 📝

  • Support for custom fetching for the Endpoint Dimension Filter in Object Storage Alerts
  • Minor changes and separation of logic in ValueFieldRenderer component

Changes 🔄

List any change(s) relevant to the reviewer.

  • Standalone DimensionFilterValue components (DimensionFilterAutocomplete, FirewallDimensionFilterAutocomplete, ObjectStorageDimensionFilterAutocomplete) depending on the use-case ( Avoids fetching irrelevant hooks for some serviceTypes)
  • New useObjectStorageFetchOptions hook for endpoints dimension filter
  • Utils for scope related filtering for object storage endpoints dimension filter
  • Unit Tests for the components and utils
  • Unified Interfaces for DimensionFilterAutocompleteProps and FetchOptionsProps

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 🗓️

15th October

Preview 📷

Scope Screen Recording
Account scope
object-storage-dim-filter-account-scope.mp4
Region scope
objectstorage-dim-filter-region-scope.mp4
Entity scope
objectstorage-dim-filter-entity-scope.mp4

How to test 🧪

Prerequisites

(How to setup test environment)

  • Under Monitor , Click on Alerts.

To test Create Alert flow

  • Click on Create Alerts button
  • Choose different scope variants and verify the changes.

To test the Show-Details and Edit Alert flow

  • In serverHandler.ts, L3024-L3036

  • Change the following lines of code :

           alertFactory.build({
            id: 550,
            label: 'object-storage -testing',
            type: 'user',
            rule_criteria: {
              rules: [objectStorageMetricCriteria.build()],
            },
            service_type: 'objectstorage',
            entity_ids: [
              'obj-bucket-804.ap-west.linodeobjects.com',
              'obj-bucket-230.us-iad.linodeobjects.com',
            ],
          })
  • To this for region scope
           alertFactory.build({
            id: 550,
            label: 'object-storage -testing',
            type: 'user',
            scope: 'region',
            regions: ['ap-west-1.linodeobjects.com', 'us-iad-1.linodeobjects.com']
            rule_criteria: {
              rules: [objectStorageMetricCriteria.build()],
            },
            service_type: 'objectstorage',
          })
  • To this for account scope
          alertFactory.build({
            id: 550,
            label: 'object-storage -testing',
            type: 'user',
            scope: 'account',
            rule_criteria: {
              rules: [objectStorageMetricCriteria.build()],
            },
            service_type: 'objectstorage',
          })
  • In the Alerts List, search for object-storage -testing Alert.
  • In the action menu of that Alert click on Show-Details/Edit to test Show-Details/Edit respectively

Verification steps

(How to verify changes)

  • The existing firewall dimension filters features are working as expected
  • The object storage dimension filters customization in Create Alert flow is working for all the scopes
  • The object storage dimension filters customization in Edit Alert flow is working for all the scopes
  • The object storage dimension filters customization in Show Details Alert flow is working for all the scopes
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

@santoshp210-akamai
Copy link
Contributor Author

~700 lines of changes are for Unit Tests for components and utils. So actual code changes and logic is less 500 lines.

Comment on lines 14 to 15
{ label: 'Tcp', value: 'tcp' },
{ label: 'Udp', value: 'udp' },
Copy link
Member

Choose a reason for hiding this comment

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

Why this capitalization change?

Copy link
Contributor Author

@santoshp210-akamai santoshp210-akamai Oct 6, 2025

Choose a reason for hiding this comment

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

@bnussman-akamai , We included firewall and protocol as props now, and by default due to our transform config the Labels get changed . So changed it so the values can be asserted properly.

If needed will find better dimensionLabel, serviceType combination instead of protocol and firewall.

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Oct 9, 2025
@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 1 failing test on test run #6 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
1 Failing837 Passing11 Skipped44m 11s

Details

Failing Tests
SpecTest
clone-linode.spec.tsCloud Manager Cypress Tests→clone linode » can clone a Linode from Linode details page

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/linodes/clone-linode.spec.ts"

@nikhagra-akamai nikhagra-akamai merged commit 3e09c2b into linode:develop Oct 13, 2025
34 of 35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Oct 13, 2025
corya-akamai pushed a commit to corya-akamai/manager that referenced this pull request Dec 8, 2025
…age Alerts (linode#12959)

* upcoming: [DI-27318] - Dimension Filter customization for Object Storage Alerts

* add changesets

* upcoming: Adding type to support both Metrics and Alerts type

---------

Co-authored-by: Nikhil Agrawal <[email protected]>
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.

5 participants