1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-02-15 05:57:23 +03:00
one/share/doc/states/states-simple.dot
2013-10-02 11:51:46 +02:00

106 lines
3.0 KiB
Plaintext

digraph OpenNebula {
graph [
nodesep= 0.5,
ratio=1,
pad=1,
];
node [fontname="Helvetica"];
edge [fontname="Menlo"];
user [
fillcolor="black",
style="filled", shape="box",
fontcolor="white", fontsize= "24.0"];
ANY [ shape="box" ];
"ANY \\ {suspended,poweroff,done}" [ shape="box" ];
subgraph { rank = min; user}
subgraph { rank = same; pending; hold; color="white"}
# subgraph { rank = same; prolog; boot; color="white" }
subgraph { rank = same; migrate; save; shutdown; unknown; hotplug; snapshot;
color="white" }
subgraph { rank = max; suspended; done; failure; stopped; poweroff; undeployed; color="white" }
# create
user -> pending [label="create"];
# deploy
pending -> prolog [label="deploy"];
prolog -> boot [style="dashed"];
boot -> running [style="dashed"];
# shutdown
running -> shutdown [label="shutdown"];
shutdown -> epilog [label="shutdown", style="dashed"];
epilog -> done [label="shutdown", style="dashed"];
unknown -> epilog [label="shutdown --hard"];
# poweroff
running -> shutdown [label="poweroff"];
shutdown -> poweroff [label="poweroff", style="dashed"];
# livemigrate
running -> migrate [label="migrate\n--live"];
migrate -> running [label="migrate\n--live", style="dashed"];
# migrate
running -> save [label="migrate"];
save -> migrate [label="migrate", style="dashed"];
migrate -> boot [label="migrate", style="dashed"];
# hold
pending -> hold [label="hold"];
# release
hold -> pending [label="release"];
# stop
running -> save [label="stop"];
save -> epilog [label="stop", style="dashed"];
epilog -> stopped [label="stop", style="dashed"];
# undeploy
running -> shutdown [label="undeploy"];
shutdown -> epilog [label="undeploy", style="dashed"];
epilog -> undeployed [label="undeploy", style="dashed"];
# suspend
running -> save [label="suspend"];
save -> suspended [label="suspend", style="dashed"];
# resume
stopped -> pending [label="resume"];
undeployed -> pending [label="resume"];
suspended -> boot [label="resume"];
poweroff -> boot [label="resume"];
# delete
ANY -> done [label="delete"];
# restart
unknown -> boot [label="boot"];
boot -> boot [label="boot"];
# reboot
running -> running [label="reboot"];
# disk-attach nic-attach
# running -> hotplug [label="disk / nic -\n attach / detach"]
running -> hotplug [label="disk / nic\nattach"]
hotplug -> running [style="dashed"];
# snapshot
running -> snapshot [label="snapshot-*"]
snapshot -> running [style="dashed"];
# resubmit
"ANY \\ {suspended,poweroff,done}" -> pending [label="delete --recreate"];
# failures and misc.
ANY -> failure [style="dotted"];
}