Skip to content

Conversation

@jaalah-akamai
Copy link
Contributor

Re-opening: #13084

Description 📝

This PR enhances linode_migrate event messages to display maintenance type (emergency/scheduled) and config information when available. Previously, migration events only showed "Linode linode-1 is being migrated" without context about the maintenance type or which config was being used.

Changes 🔄

The changes ensure that:

  • Event messages clearly indicate whether a migration is for emergency or scheduled maintenance
  • Config information is displayed when a secondary_entity is present in the event
  • Messages gracefully handle missing description fields by defaulting to "maintenance"
  • All event statuses (failed, finished, scheduled, started) consistently include this information
  • Upcoming Table: The start date column now uses the when field as opposed to the start_time which are essentially the same.

Additionally, this PR includes bug fixes for null handling in maintenance-related components and improvements to dev tools for testing these scenarios.

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

December 2nd

Preview 📷

Before:

  • "Linode linode-1 is being migrated."

After:

  • "Linode linode-1 is being migrated for emergency maintenance."
  • "Linode linode-1 is being migrated for emergency maintenance with config My Debian 11 Disk."
  • "Linode linode-1 is being migrated for scheduled maintenance."
Before After
Linode linode-1 is being migrated. Screenshot 2025-11-12 at 12 14 40 PM Linode linode-1 is being migrated for emergency maintenance with config My Debian 11 Disk. Screenshot 2025-11-12 at 12 13 17 PM
Screenshot 2025-11-12 at 12 14 49 PM Screenshot 2025-11-12 at 12 13 09 PM
recording.mov

How to test 🧪

Prerequisites

  • Enable the vmHostMaintenance feature flag
  • Have access to dev tools for mocking events and maintenance records
  • "Enable MSW" with Base Preset "Static Mocking"
  • Presets > Enable Events: Custom Events
  • Presets > Enable Events: Custom Events

Reproduction steps

  1. Navigate to Account > Maintenance page
  2. Ensure there are maintenance records with status "in_progress" or "started"
  3. Create matching events using dev tools with:
    • Select any/all "Linode Migration" from templates
    • For maintenance presets, you can do the same "In Progress - Emergency or Scheduled Migration"

Verification steps

  • Verify event messages display "for emergency maintenance" when description: 'emergency'
  • Verify event messages display "for scheduled maintenance" when description: 'scheduled'
  • Verify event messages display "for maintenance" when description is missing or null
  • Verify config information appears when secondary_entity is present: "with config [config name]"
  • Verify config information does not appear when secondary_entity is null
  • Verify all event statuses (failed, finished, scheduled, started) display correctly
  • Verify maintenance type is displayed in bold text
  • Test clearing secondary_entity field in dev tools and verify it saves as null
  • Verify no runtime errors occur when reason field is null in maintenance records
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

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

Cloud Manager UI test results

🎉 867 passing tests on test run #4 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
0 Failing867 Passing11 Skipped42m 33s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Approved

Development

Successfully merging this pull request may close these issues.

7 participants