Virtual Machine States and Transitions

Virtual Machine States and Transitions

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

Allowed State Transitions

digraph states { graph [pad=".35", ranksep="0.65", nodesep="0.55", concentrate=true]; node [fontsize=10 fontname="Monospace"]; edge [arrowhead="normal", arrowsize="0.8"]; label="All states are allowed to transition to DELETED and ERROR."; forcelabels=true; labelloc=bottom; labeljust=left; /* 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"] shelved [label="SHELVED"] shelved_offloaded [label="SHELVED_OFFLOADED"] deleted [label="DELETED", color="red"] error [label="ERROR", color="red"] /* transitions [action] */ building -> active active -> active [headport=nw, tailport=ne] // manual layout active -> soft_deleted [tailport=e] // prevent arrowhead overlap active -> suspended active -> paused [tailport=w] // prevent arrowhead overlap active -> stopped active -> shelved active -> shelved_offloaded active -> rescued active -> resized soft_deleted -> active [headport=e] // prevent arrowhead overlap suspended -> active suspended -> shelved suspended -> shelved_offloaded paused -> active paused -> shelved paused -> shelved_offloaded stopped -> active stopped -> stopped [headport=nw, tailport=ne] // manual layout stopped -> resized stopped -> rescued stopped -> shelved stopped -> shelved_offloaded resized -> active rescued -> active shelved -> shelved_offloaded shelved -> active shelved_offloaded -> active }

Requirements for Commands

Command

Req’d VM States

Req’d Task States

Target State

pause

Active, Shutoff, Rescued

Resize Verify, unset

Paused

unpause

Paused

N/A

Active

suspend

Active, Shutoff

N/A

Suspended

resume

Suspended

N/A

Active

rescue

Active, Shutoff

Resize Verify, unset

Rescued

unrescue

Rescued

N/A

Active

set admin password

Active

N/A

Active

rebuild

Active, Shutoff

Resize Verify, unset

Active, Shutoff

force delete

Soft Deleted

N/A

Deleted

restore

Soft Deleted

N/A

Active

soft delete

Active, Shutoff, Error

N/A

Soft Deleted

delete

Active, Shutoff, Building, Rescued, Error

N/A

Deleted

backup

Active, Shutoff

N/A

Active, Shutoff

snapshot

Active, Shutoff

N/A

Active, Shutoff

start

Shutoff, Stopped

N/A

Active

stop

Active, Shutoff, Rescued

Resize Verify, unset

Stopped

reboot

Active, Shutoff, Rescued

Resize Verify, unset

Active

resize

Active, Shutoff

Resize Verify, unset

Resized

revert resize

Active, Shutoff

Resize Verify, unset

Active

confirm resize

Active, Shutoff

Resize Verify, unset

Active

VM states and Possible Commands

VM State

Commands

Paused

unpause

Suspended

resume

Active

set admin password, suspend, pause, rescue, rebuild, soft delete, delete, backup, snapshot, stop, reboot, resize, revert resize, confirm resize

Shutoff

suspend, pause, rescue, rebuild, soft delete, delete, backup, start, snapshot, stop, reboot, resize, revert resize, confirm resize

Rescued

unrescue, pause

Stopped

rescue, delete, start

Soft Deleted

force delete, restore

Error

soft delete, delete

Building

delete

Rescued

delete, stop, reboot

Create Instance States

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

Sequence of VM states, task states, and power states when a new VM instance is created.
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.