
* 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
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
}
Create instance states
The following diagram shows the sequence of VM states, task states, and power states when a new VM instance is created.