Files
nova/doc/source/vmstates.rst
Joe Gordon a1e8fc6dd9 Update docs layout
* Explain these docs are for trunk (copied from ironic)
* All the docs in this repo are meant to be developer docs, so having a
  devref inside of the docs is redundant and just makes the docs more
  complicated to navigate. Move everything out of the devref folder and
  link to everything from main index.
* Move man pages into separate section. The man pages are pretty sparse
* right now, we should either make them useful or just delete them
* Remove dead docs from unused_docs list in doc/source/conf.py
* Shuffle docs landing page, move common referees to the top (API,
  hypervisor support matrix), Add a introduction section and more. The
  hope is the updated layout makes this document easier to navigate.
* Use maxdepth of 1
* Rename a few sections with what are hopefully better names

The next step is to prune out outdated documents and further cleanup
this page.

Change-Id: Iff453e47ccc902a0e72b1a5f6ce1ee939ff3a1a0
2015-05-15 10:47:18 -07:00

4.0 KiB

Virtual Machine States and Transitions

Preconditions for commands

The following diagrams show the required virtual machine (VM) states and task states for various commands issued by the user:

digraph states {

node [fontsize=10 fontname="Monospace"] /* states */ building [label="BUILDING"]

active [label="ACTIVE"] paused [label="PAUSED"] suspended [label="SUSPENDED"] stopped [label="STOPPED"] rescued [label="RESCUED"] resized [label="RESIZED"] soft_deleted [label="SOFT_DELETED"] deleted [label="DELETED"] error [label="ERROR"] shelved [label="SHELVED"] shelved_offloaded [label="SHELVED_OFFLOADED"]

/* apis */ create [shape="rectangle"] create -> active create -> error building -> create

delete [shape="rectangle"] delete -> deleted building -> delete paused -> delete suspended -> delete stopped -> delete rescued -> delete soft_deleted -> delete error -> delete

soft_delete [shape="rectangle"] soft_delete -> soft_deleted soft_delete -> error active -> soft_delete stopped -> soft_delete

restore [shape="rectangle"] restore -> active restore -> error soft_deleted -> restore

pause [shape="rectangle"] pause -> paused pause -> error active -> pause

unpause [shape="rectangle"] unpause -> active unpause -> error paused -> unpause

suspend [shape="rectangle"] suspend -> suspended suspend -> error active -> suspend

resume [shape="rectangle"] resume -> active resume -> error suspended -> resume

start [shape="rectangle"] start -> active start -> error stopped -> start

stop [shape="rectangle"] stop -> stopped stop -> error active -> stop error -> stop

rescue [shape="rectangle"] rescue -> rescued rescue -> error active -> rescue stopped -> rescue error -> rescue

unrescue [shape="rectangle"] unrescue -> active rescued -> unrescue

resize [shape="rectangle"] resize -> resized resize -> error active -> resize stopped -> resize

confirm_resize [shape="rectangle"] confirm_resize -> active confirm_resize -> error resized -> confirm_resize confirm_resize [shape="rectangle"]

revert_resize -> active revert_resize -> error resized -> revert_resize

snapshot [shape="rectangle"] snapshot -> active snapshot -> stopped snapshot -> error active -> snapshot stopped -> snapshot

backup [shape="rectangle"] backup -> active backup -> stopped backup -> error active -> backup stopped -> backup

rebuild [shape="rectangle"] rebuild -> active rebuild -> error active -> rebuild stopped -> rebuild

set_admin_password [shape="rectangle"] set_admin_password -> active set_admin_password -> error active -> set_admin_password

reboot [shape="rectangle"] reboot -> active reboot -> error active -> reboot stopped -> reboot paused -> reboot suspended -> reboot error -> reboot

live_migrate [shape="rectangle"] live_migrate -> active live_migrate -> error active -> live_migrate

shelve [shape="rectangle"] shelve -> shelved shelve -> shelved_offloaded shelve -> error active -> shelve stopped -> shelve paused -> shelve suspended -> shelve

shelve_offload [shape="rectangle"] shelve_offload -> shelved_offloaded shelve_offload -> error shelved -> shelve_offload

unshelve [shape="rectangle"] unshelve -> active unshelve -> error shelved -> unshelve shelved_offloaded -> unshelve

}

image

image

Create instance states

The following diagram shows the sequence of VM states, task states, and power states when a new VM instance is created.

image