The following diagrams and tables show the required virtual machine (VM) states and task states for various commands issued by the user.
![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
}](../_images/graphviz-fa8a74bb135d06ccb43a311b6e3dcbaaf9041e3c.png)
| 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 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 |
The following diagram shows the sequence of VM states, task states, and power states when a new VM instance is created.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.