Skip to content

upcoming: [DI-27571] - Blockstorage onboarding for ACLP Alerts#13048

Merged
venkymano-akamai merged 13 commits intolinode:developfrom
santoshp210-akamai:feature/block-storage-onboarding
Nov 13, 2025
Merged

upcoming: [DI-27571] - Blockstorage onboarding for ACLP Alerts#13048
venkymano-akamai merged 13 commits intolinode:developfrom
santoshp210-akamai:feature/block-storage-onboarding

Conversation

@santoshp210-akamai
Copy link
Contributor

@santoshp210-akamai santoshp210-akamai commented Nov 3, 2025

Description 📝

Integration of BlockStorage service for Alerting

Changes 🔄

List any change(s) relevant to the reviewer.

  • Added blockstorage to the entity table config with region filter
  • Added customization for the linode_id dimension filter with customFetching
  • Changes to the config to support same dimension label across multiple services
  • Minor changes to generalize the utils
  • Block storage mocks
  • Unit tests for the utils and the new filter

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

12th Nov

Preview 📷

Include a screenshot <img src="" /> or video <video src="" /> of the change.

🔒 Use the Mask Sensitive Data setting for security.

💡 For changes requiring multiple steps to validate, prefer a video for clarity.

blockstorage-alerts-integration.mp4

How to test 🧪

Prerequisites

(How to setup test environment)

  • In Mock Environment (Legacy MSW Handlers) , Under Monitor , Click on Alerts.

To test Create Alert flow

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

To test the Show-Details and Edit Alert flow

  • In serverHandler.ts, L3083-L3096

  • Change the following lines of code :

      if (params.id === '300' && params.serviceType === 'blockstorage') {
        return HttpResponse.json(
          alertFactory.build({
            id: 300,
            type: 'user',
            label: 'block-storage - testing',
            service_type: 'blockstorage',
            entity_ids: ['1', '2', '4', '3', '5', '6', '7', '8', '9', '10'],
            rule_criteria: {
              rules: [blockStorageMetricCriteria.build()],
            },
          })
        );
      }
  • To this for account scope
      if (params.id === '300' && params.serviceType === 'blockstorage') {
        return HttpResponse.json(
          alertFactory.build({
            id: 300,
            type: 'user',
            scope: 'account',
            label: 'block-storage - testing',
            service_type: 'blockstorage',
            entity_ids: ['1', '2', '4', '3', '5', '6', '7', '8', '9', '10'],
            rule_criteria: {
              rules: [blockStorageMetricCriteria.build()],
            },
          })
        );
      }
  • To this for region scope
     if (params.id === '300' && params.serviceType === 'blockstorage') {
      return HttpResponse.json(
        alertFactory.build({
          id: 300,
          type: 'user',
          scope: 'region',
          label: 'block-storage - testing',
          service_type: 'blockstorage',
          entity_ids: ['1', '2', '4', '3', '5', '6', '7', '8', '9', '10'],
          rule_criteria: {
            rules: [blockStorageMetricCriteria.build()],
          },
        })
      );
    }
  • In the Alerts List, search for block-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 block storage resources are listed in the Entities section
  • The block storage dimension filters customization in Create Alert flow is working for all the scopes
  • The block storage dimension filters customization in Edit Alert flow is working for all the scopes
  • The block 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

Copy link
Contributor

@venkymano-akamai venkymano-akamai left a comment

Choose a reason for hiding this comment

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

Approving, Pending my NIT comments, but those are good to have

@santoshp210-akamai
Copy link
Contributor Author

500+ lines of change is for Unit tests and Mocks. Hence raised as a single PR.

Copy link
Contributor

@nikhagra-akamai nikhagra-akamai left a comment

Choose a reason for hiding this comment

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

LGTM

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

Cloud Manager UI test results

🎉 861 passing tests on test run #13 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
0 Failing861 Passing11 Skipped41m 54s

@venkymano-akamai venkymano-akamai merged commit 42a6cd9 into linode:develop Nov 13, 2025
35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Nov 13, 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.

5 participants