
Hi Sam, Thanks for pointing out the registry, I missed it somehow. I like the extensions idea, quite neat. Also, I'm happy with a new "NEW" state and having "ABORTED" as the failed state, although I'm not sure if we should use this for both 1) the case that the machine has crashed due to some error and 2) the user cancels the machine. -Tino On Mon, Apr 20, 2009 at 12:56 PM, Sam Johnston <samj@samj.net> wrote:
Hi Tino,
A lot of this is covered in the state registry (which I'll copy below for you) but comments inline nonetheless.
On Mon, Apr 20, 2009 at 12:35 PM, Tino Vazquez <tinova@fdi.ucm.es> wrote:
Howdy everyone,
Excellent thread. My three cents:
1) I think we should define clearly the semantics of the states. for instance, what is the difference between STOPPED and SUSPENDED? Is it that with SUSPENDED the state is saved and not with STOPPED?
Yes, it's exactly that. From the state registry: STOPPED = "The resource is inactive and has no saved state" and SUSPENDED="The resource is inactive and has saved state"
2) I really think we need an entry state like "PENDING" or "DEFINED". It will help in implementation relying on a best-effort scheduler to match VMs and hosts, like EC2 does. This will be the state where machines will wait for a host to be available to run on. Also, I don't really think that a machine entering its life cycle in SUSPENDED state is a good idea.
I tend to agree, but I'd like the terminology to be completely unambiguous... something like "NEW" [for this AS].
3) +1 to the "CRASHED", "ERROR" or "FAILED" state.
ABORT[ING|ED] = "The resource encountered an error and is aborting/has aborted".
What do you think?
Some of these transitions take a while so some way of indicating progress (especially interesting for long tasks like live migrations) would be useful. Would prefer a mechanism that worked universally for the API.
Sam
Extensions
State control
StateTransitionsDescription abortingabortedThe resource encountered an error and is aborting abortedn/aThe resource encountered an error and has aborted activepause, restart, stop, suspendThe resource is active resumingaborting, activeThe resource is becoming active and restoring state pausingaborting, pausedThe resource is preparing to refuse new requests pausedaborting, resumeThe resource is refusing new requests startingaborting, activeThe resource is becoming active stoppedstartThe resource is inactive and has no saved state stoppingstopped, abortingThe resource is becoming inactive and destroying state suspendedresume, stopThe resource is inactive and has saved state
Note: Stable states and user transitions in bold.
-- Constantino Vázquez, Grid Technology Engineer/Researcher: http://www.dsa-research.org/tinova DSA Research Group: http://dsa-research.org Globus GridWay Metascheduler: http://www.GridWay.org OpenNebula Virtual Infrastructure Engine: http://www.OpenNebula.org