
Hi Tino, A lot of this is covered in the state registry<http://forge.ogf.org/sf/wiki/do/viewPage/projects.occi-wg/wiki/Registries>(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 *aborted*n/aThe resource encountered an error and has aborted *active**pause*, *restart*, *stop*, * suspend*The resource is active resumingaborting, activeThe resource is becoming active and restoring state pausingaborting, pausedThe resource is preparing to refuse new requests *paused*aborting, *resume*The resource is refusing new requests startingaborting, activeThe resource is becoming active *stopped**start*The resource is inactive and has no saved state stoppingstopped, abortingThe resource is becoming inactive and destroying state *suspended**resume*, *stop*The resource is inactive and has saved state *Note*: Stable states and user transitions in *bold*.