
Based on mriedem's hand-drawn version [1] (but not as pretty). [1] https://photos.google.com/share/AF1QipNpWVQKU8GK4_9wxVbiRJUqJnMzqPcBh6DvjVyBPIjjmi6ZU8r9TleQNo6pV1t9SA?key=NUl3OUFGYkRFTE8tMHhSX0lfc0Y1eEdoeHo4SUhn Co-Authored-By: Matt Riedemann <mriedem.os@gmail.com> Change-Id: I63046079cd3135b4b19c0c6745075f090d04e396
1.9 KiB
Live Migration
- seqdiag {
-
Conductor; Source; Destination; edge_length = 300; span_height = 15; activation = none; default_note_color = white;
- Conductor -> Destination [label = "call", note = "check_can_live_migrate_destination"];
-
Source <- Destination [label = "call", leftnote = "check_can_live_migrate_source"]; Source --> Destination;
Conductor <-- Destination;
- Conductor ->> Source [label = "cast", note = "live_migrate"];
-
Source -> Destination [label = "call", note = "pre_live_migration (set up dest)"]; Source <-- Destination;
=== driver.live_migration (success) ===
Source -> Source [leftnote = "post_live_migration (clean up source)"]; Source -> Destination [label = "call", note = "post_live_migration_at_destination (finish dest)"]; Source <-- Destination;
=== driver.live_migration (failure) ===
Source -> Destination [label = "call", note = "remove_volume_connections"]; Source <-- Destination; Source ->> Destination [label = "cast", note = "rollback_live_migration_at_destination"];
}