nova/doc/source/reference/live-migration.rst
Eric Fried f839a97e0f Live Migration sequence diagram
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
2017-09-25 16:19:44 +00:00

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"];

}