1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-01-13 13:17:39 +03:00
one/share/doc/states/states-complete.dot
2016-05-26 18:42:44 +02:00

331 lines
12 KiB
Plaintext

digraph OpenNebula {
graph [
nodesep=0.3,
ratio=0.6,
pad=0.5,
//concentrate=true,
];
node [fontname="Helvetica"];
edge [fontname="Menlo"];
user [
fillcolor="black",
style="filled", shape="box",
fontcolor="white", fontsize= "24.0"];
ANY [ shape="box" ];
"ANY \\ {stopped,undeployed,done}" [ shape="box" ];
running [ width = 2.5, height = 1 ]
subgraph {
rank = min;
user
}
subgraph {
rank = same;
suspended;
stopped;
undeployed;
poweroff;
color="white"
}
subgraph {
rank = same;
boot;
boot_stopped;
boot_undeploy;
boot_suspended;
boot_unknown;
boot_poweroff;
boot_migrate;
boot_failure;
boot_migrate_failure;
boot_undeploy_failure, boot_stopped_failure;
color="white"
}
subgraph {
rank = same;
running;
unknown;
color="white"
}
subgraph {
rank = same;
pending;
hold;
color="white"
}
subgraph {
rank = same;
prolog;
prolog_failure;
prolog_resume;
prolog_resume_failure;
prolog_migrate;
prolog_migrate_failure;
prolog_migrate_poweroff;
prolog_migrate_poweroff_failure;
prolog_migrate_suspend;
prolog_migrate_suspend_failure;
prolog_undeploy;
prolog_undeploy_failure;
prolog_migrate_unknown;
prolog_migrate_unknown_failure;
color="white"
}
subgraph {
rank = same;
epilog_stop;
epilog_stop_failure;
epilog;
epilog_failure;
epilog_undeploy;
epilog_undeploy_failure;
color="white"
}
subgraph {
rank = same;
hotplug_prolog_poweroff;
hotplug_saveas_poweroff;
hotplug_saveas_suspended;
disk_snapshot_suspended;
disk_snapshot_revert_suspended;
disk_snapshot_delete_suspended;
hotplug_epilog_poweroff;
disk_snapshot_poweroff;
disk_snapshot_revert_poweroff;
disk_snapshot_delete_poweroff;
color="white"
}
subgraph {
rank = sink;
done;
ANY;
color="white"
}
# create
user -> pending [label="create"];
# deploy
pending -> prolog [label="deploy"];
prolog -> boot [style="dashed", color="blue"];
boot -> running [style="dashed", color="blue"];
pending -> prolog_resume [label="deploy\n(from stopped)"];
//hold -> prolog_resume [label="deploy\n(from stopped)"];
stopped -> prolog_resume [label="deploy"];
prolog_resume -> boot_stopped [style="dashed", color="blue"];
pending -> prolog_undeploy [label="deploy\n(from undeployed)"];
//hold -> prolog_undeploy [label="deploy\n(from undeployed)"];
undeployed -> prolog_undeploy [label="deploy"];
prolog_undeploy -> boot_undeploy [style="dashed", color="blue"];
//hold -> prolog [label="deploy"];
# terminate
running -> shutdown [label="terminate [--hard]"];
shutdown -> epilog [style="dashed", color="blue"];
epilog -> done [style="dashed", color="blue"];
shutdown -> running [style="dotted", color="red"];
suspended -> epilog [label="terminate [--hard]"];
poweroff -> epilog [label="terminate [--hard]"];
stopped -> epilog [label="terminate [--hard]"];
undeployed -> epilog [label="terminate [--hard]"];
# poweroff
running -> shutdown_poweroff [label="poweroff [--hard]"];
shutdown_poweroff -> poweroff [style="dashed", color="blue"];
shutdown_poweroff -> running [style="dotted", color="red"];
# livemigrate
running -> migrate [label="migrate --live"];
migrate -> running [style="dashed", color="blue"];
# migrate
running -> save_migrate [label="migrate"];
save_migrate -> prolog_migrate [style="dashed", color="blue"];
save_migrate -> running [style="dotted", color="red"];
prolog_migrate -> boot_migrate [style="dashed", color="blue"];
boot_migrate -> running [style="dashed", color="blue"];
unknown -> prolog_migrate_unknown [label="migrate"];
prolog_migrate_unknown -> boot [style="dashed", color="blue"];
poweroff -> prolog_migrate_poweroff [label="migrate"];
prolog_migrate_poweroff -> poweroff [style="dashed", color="blue"];
suspended -> prolog_migrate_suspend [label="migrate"];
prolog_migrate_suspend -> suspended [style="dashed", color="blue"];
# hold
pending -> hold [label="hold"];
# release
hold -> pending [label="release"];
# stop
running -> save_stop [label="stop"];
save_stop -> epilog_stop [style="dashed", color="blue"];
save_stop -> running [style="dotted", color="red"];
epilog_stop -> stopped [style="dashed", color="blue"];
suspended -> epilog_stop [label="stop"];
# undeploy
running -> shutdown_undeploy [label="undeploy [--hard]"];
shutdown_undeploy -> epilog_undeploy [style="dashed", color="blue"];
shutdown_undeploy -> running [style="dotted", color="red"];
epilog_undeploy -> undeployed [style="dashed", color="blue"];
poweroff -> epilog_undeploy [label="undeploy [--hard]"];
# suspend
running -> save_suspend [label="suspend"];
save_suspend -> suspended [style="dashed", color="blue"];
save_suspend -> running [style="dotted", color="red"];
# resume
stopped -> pending [label="resume"];
boot_stopped -> running [style="dashed", color="blue"];
undeployed -> pending [label="resume"];
boot_undeploy -> running [style="dashed", color="blue"];
suspended -> boot_suspended [label="resume"];
boot_suspended -> running [style="dashed", color="blue"];
poweroff -> boot_poweroff [label="resume"];
boot_poweroff -> running [style="dashed", color="blue"];
unknown -> boot_unknown [label="resume"];
boot_unknown -> running [style="dashed", color="blue"];
# recover delete
ANY -> done [label="recover --delete"];
# recover --recreate
"ANY \\ {stopped,undeployed,done}" -> pending [label="recover --recreate"];
# reboot
running -> running [label="reboot"];
# disk-attach
running -> hotplug [label="disk-attach /\n-detach"]
hotplug -> running [style="dashed", color="blue"];
poweroff -> hotplug_prolog_poweroff [label="disk-attach"]
hotplug_prolog_poweroff -> poweroff [style="dashed", color="blue"];
poweroff -> hotplug_epilog_poweroff [label="disk-detach"]
hotplug_epilog_poweroff -> poweroff [style="dashed", color="blue"];
# disk-snapshot-create
running -> disk_snapshot [label="disk-snapshot-create"];
disk_snapshot -> running [style="dashed", color="blue"];
poweroff -> disk_snapshot_poweroff [label="disk-snapshot-create"];
disk_snapshot_poweroff -> poweroff [style="dashed", color="blue"];
suspended -> disk_snapshot_suspended [label="disk-snapshot-create"];
disk_snapshot_suspended -> suspended [style="dashed", color="blue"];
# disk-snapshot-revert
running -> disk_snapshot_revert [label="disk-snapshot-revert"];
disk_snapshot_revert -> running [style="dashed", color="blue"];
poweroff -> disk_snapshot_revert_poweroff [label="disk-snapshot-revert"];
disk_snapshot_revert_poweroff -> poweroff [style="dashed", color="blue"];
suspended -> disk_snapshot_revert_suspended [label="disk-snapshot-revert"];
disk_snapshot_revert_suspended -> suspended [style="dashed", color="blue"];
# disk-snapshot-delete
running -> disk_snapshot_delete [label="disk-snapshot-delete"];
disk_snapshot_delete -> running [style="dashed", color="blue"];
poweroff -> disk_snapshot_delete_poweroff [label="disk-snapshot-delete"];
disk_snapshot_delete_poweroff -> poweroff [style="dashed", color="blue"];
suspended -> disk_snapshot_delete_suspended [label="disk-snapshot-delete"];
disk_snapshot_delete_suspended -> suspended [style="dashed", color="blue"];
# nic-attach
running -> hotplug_nic [label="nic-attach /\n-detach"]
hotplug_nic -> running [style="dashed", color="blue"];
poweroff -> poweroff [label="nic-attach /\n-detach"]
# snapshot
running -> hotplug_snapshot [label="snapshot-create /\n-revert /\n-delete"]
hotplug_snapshot -> running [style="dashed", color="blue"];
# disk-saveas
running -> hotplug_saveas [label="disk-saveas"]
hotplug_saveas -> running [style="dashed", color="blue"];
poweroff -> hotplug_saveas_poweroff [label="disk-saveas"]
hotplug_saveas_poweroff -> poweroff [style="dashed", color="blue"];
suspended -> hotplug_saveas_suspended [label="disk-saveas"]
hotplug_saveas_suspended -> suspended [style="dashed", color="blue"];
# failures and misc.
boot_failure -> boot [label="recover"];
boot_migrate_failure -> boot_migrate [label="recover"];
boot_undeploy_failure -> boot_undeploy [label="recover"];
boot_stopped_failure -> boot_stopped [label="recover"];
epilog_stop -> epilog_stop_failure [label=" ", style="dotted", color="red"];
epilog_stop_failure -> epilog_stop [label="recover"];
epilog -> epilog_failure [label=" ", style="dotted", color="red"];
epilog_failure -> epilog [label="recover"];
epilog_undeploy -> epilog_undeploy_failure [label=" ", style="dotted", color="red"];
epilog_undeploy_failure -> epilog_undeploy [label="recover"];
prolog -> prolog_failure [label=" ", style="dotted", color="red"];
prolog_failure -> prolog [label="recover"];
prolog_migrate -> prolog_migrate_failure [label=" ", style="dotted", color="red"];
prolog_migrate_failure -> prolog_migrate [label="recover"];
prolog_migrate_poweroff -> prolog_migrate_poweroff_failure [label=" ", style="dotted", color="red"];
prolog_migrate_poweroff_failure -> prolog_migrate_poweroff [label="migrate"];
prolog_migrate_suspend -> prolog_migrate_suspend_failure [label=" ", style="dotted", color="red"];
prolog_migrate_suspend_failure -> prolog_migrate_suspend [label="migrate"];
prolog_resume -> prolog_resume_failure [style="dotted", color="red"];
prolog_resume_failure -> prolog_resume [label="recover"];
prolog_undeploy -> prolog_undeploy_failure [style="dotted", color="red"];
prolog_undeploy_failure -> prolog_undeploy [label="recover"];
prolog_migrate_unknown -> prolog_migrate_unknown_failure [label=" ", style="dotted", color="red"];
prolog_migrate_unknown_failure -> prolog_migrate_unknown [label="migrate"];
boot -> boot_failure [label=" ", style="dotted", color="red"];
boot_migrate -> boot_migrate_failure [label=" ", style="dotted", color="red"];
boot_poweroff -> poweroff [style="dotted", color="red"];
boot_unknown -> unknown [label=" ", style="dotted", color="red"];
boot_suspended -> suspended [style="dotted", color="red"];
boot_stopped -> boot_stopped_failure [style="dotted", color="red"];
boot_undeploy -> boot_undeploy_failure [style="dotted", color="red"];
running -> save_suspend [style="dotted", color="red"];
unknown -> save_suspend [style="dotted", color="red"];
running -> unknown [style="dotted", color="red"];
unknown -> running [style="dashed", color="blue"];
}