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

@jaalah-akamai jaalah-akamai merged commit 594f30d into linode:develop Jan 6, 2026
35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Jan 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Merged

Development

Successfully merging this pull request may close these issues.

8 participants