# 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.

this page last updated: 2026-06-08 12:33:00

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

found an error? report a bug