Adding sequence diagram to Architecture

A high level sequence diagram is added to the Architecture page to
illustrate the workflow between Fenix and the app manager.

Change-Id: I51220cdc64eb34d0f60c5425c654efae76f9f624
Signed-off-by: Gergely Csatari <gergely.csatari@nokia.com>
This commit is contained in:
Gergely Csatari 2019-04-29 01:50:06 +02:00
parent 52f5d7205d
commit e1e8cc5d01
3 changed files with 33 additions and 0 deletions

View File

@ -1,5 +1,6 @@
sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
openstackdocstheme>=1.18.1 # Apache-2.0
os-api-ref>=1.6.0 # Apache-2.0
sphinxcontrib-seqdiag>=0.8.4 # BSD
# releasenotes
reno>=2.5.0 # Apache-2.0

View File

@ -24,6 +24,7 @@ extensions = [
'sphinx.ext.autodoc',
'openstackdocstheme',
'os_api_ref',
'sphinxcontrib.seqdiag',
#'sphinx.ext.intersphinx',
]
@ -31,6 +32,10 @@ extensions = [
# text edit cycles.
# execute "export SPHINX_DEBUG=1" in your terminal to disable
# sphinxcontrib.seqdiag options
seqdiag_antialias = True
seqdiag_html_image_format = 'SVG'
# The suffix of source filenames.
source_suffix = '.rst'

View File

@ -99,3 +99,30 @@ back in normal use. This might be important for enabling/disabling self-healing
or billing. Notification can also be used to indicate when a host is added or
removed.
High level sequence diagram
===========================
.. seqdiag::
seqdiag {
activation = none;
infra-admin -> fenix [label = "Maintenance session \n for hosts", note="Start the maintenance process"];
fenix -> app-manager [label = "MAINTENANCE"];
app-manager -> fenix [label = "ACK_MAINTENANCE"];
fenix --> app-manager [label = "IN_SCALE", note="Optional down scale"]
app-manager --> fenix [label = "ACK_IN_SCALE"]
fenix --> app-manager [label = "PREPARE_MAINTENANCE", note="If there is not empty host Fenix makes one"]
app-manager --> fenix [label = "ACK_PREPARE_MAINTENANCE"]
fenix --> app-manager [label = "ADMIN_ACTION_DONE"]
=== Repeated for every compute ===
fenix -> app-manager [label = "PLANNED_MAINTENANCE", note="If VM-s are on the host. Migrate or Live migrate"]
app-manager -> fenix [label = "ACK_PLANNED_MAINTENANCE"]
fenix --> app-manager [label = "ADMIN_ACTION_DONE"]
fenix --> app-manager [label = "IN_MAINTENANCE"]
... Actual maintenance happens here ...
fenix --> app-manager [label = "MAINTENANCE_COMPLETE"]
=== --- ===
fenix --> app-manager [label = "MAINTENANCE_COMPLETE", note="Maintenance is done"]
app-manager --> fenix [label = "ACK_MAINTENANCE_COMPLETE", note="Up scale"]
}