Merge "Live Migration sequence diagram"

This commit is contained in:
Jenkins 2017-09-26 06:45:51 +00:00 committed by Gerrit Code Review
commit f5031c3f56
5 changed files with 54 additions and 0 deletions

View File

@ -46,6 +46,7 @@ extensions = ['sphinx.ext.autodoc',
'ext.versioned_notifications',
'ext.feature_matrix',
'sphinxcontrib.actdiag',
'sphinxcontrib.seqdiag',
]
# openstackdocstheme options
@ -62,6 +63,9 @@ sample_policy_basename = '_static/nova'
actdiag_html_image_format = 'SVG'
actdiag_antialias = True
seqdiag_html_image_format = 'SVG'
seqdiag_antialias = True
todo_include_todos = True
# The suffix of source filenames.

View File

@ -261,6 +261,7 @@ looking parts of our architecture. These are collected below.
reference/api-microversion-history.rst
reference/gmr
reference/i18n
reference/live-migration
reference/notifications
reference/policy-enforcement
reference/rpc

View File

@ -13,6 +13,7 @@ The following is a dive into some of the internals in nova.
* :doc:`/reference/rpc`: How nova uses AMQP as an RPC transport
* :doc:`/reference/scheduling`: The workflow through the scheduling process
* :doc:`/reference/live-migration`: The live migration flow
* :doc:`/reference/services`: Module descriptions for some of the key modules
used in starting / running services
* :doc:`/reference/vm-states`: Cheat sheet for understanding the life cycle of

View File

@ -0,0 +1,47 @@
..
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
================
Live Migration
================
.. seqdiag::
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"];
}

View File

@ -16,6 +16,7 @@ python-subunit>=0.0.18 # Apache-2.0/BSD
requests-mock>=1.1.0 # Apache-2.0
sphinx>=1.6.2 # BSD
sphinxcontrib-actdiag>=0.8.5 # BSD
sphinxcontrib-seqdiag>=0.8.4 # BSD
os-api-ref>=1.4.0 # Apache-2.0
oslotest>=1.10.0 # Apache-2.0
os-testr>=1.0.0 # Apache-2.0