oxidecomputer/propolis

want migration status endpoints to report source and target migration IDs separately

Closed this issue · 0 comments

Propolis's instance status endpoint only reports the ID of the most recent migration that it participated in, irrespective of whether this was a migration in or a migration out. This causes sled agent to have to assume that when Propolis reports a migration ID that sled agent and Nexus don't know about, it's because the Propolis was previously initialized via migration in.

If instead Propolis separately reported incoming and outgoing migration IDs, sled agent could raise warnings of a misbehaving Propolis if it ever saw one report an in-progress migration out whose ID wasn't known to sled agent. Such cases are bugs because Nexus and the sled agents involved in a migration are supposed to agree on the new migration's ID before ever communicating it to a Propolis.

This is a nice-to-have to simplify some sled agent logic. It's not a showstopper for control plane-directed live migration.