You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Depending on exactly what devices are attached and how they're configured, this message may include tens of kilobytes of serialized state, e.g. repeated messages about MSI-X interrupts that are allocated to a particular device but aren't currently in use.
It would be nice to have the migration logic log only top-level information about the component payloads it received--the component name, the kinds/versions of the payloads, and maybe the lengths of those payloads--and delegate the logging of the actual payloads to the components themselves. Then the components can deserialize the data and decide whether and how they'd like to log it.
Note that not all components have ready access to a slog::Logger when they're importing device state, so we'll need to do some plumbing to make sure they have access to one (either by adding a Logger to the relevant component structures or updating the MigrateSingle/MigrateMulti traits to supply one).
The text was updated successfully, but these errors were encountered:
gjcolombo
added
migration
Issues related to live migration.
server
Related specifically to the Propolis server API and its VM management functions.
labels
Dec 12, 2024
Note that not all components have ready access to a slog::Logger when they're importing device state, so we'll need to do some plumbing to make sure they have access to one (either by adding a Logger to the relevant component structures or updating the MigrateSingle/MigrateMulti traits to supply one).
The reason I've dragged MigrateCtx around in those traits is for exactly that sort of situation.
The migration destination runner logs the entire serialized device state payload it got from the source:
propolis/bin/propolis-server/src/lib/migrate/destination.rs
Lines 483 to 495 in 220a6f3
Depending on exactly what devices are attached and how they're configured, this message may include tens of kilobytes of serialized state, e.g. repeated messages about MSI-X interrupts that are allocated to a particular device but aren't currently in use.
It would be nice to have the migration logic log only top-level information about the component payloads it received--the component name, the kinds/versions of the payloads, and maybe the lengths of those payloads--and delegate the logging of the actual payloads to the components themselves. Then the components can deserialize the data and decide whether and how they'd like to log it.
Note that not all components have ready access to a
slog::Logger
when they're importing device state, so we'll need to do some plumbing to make sure they have access to one (either by adding a Logger to the relevant component structures or updating theMigrateSingle
/MigrateMulti
traits to supply one).The text was updated successfully, but these errors were encountered: