Hi Tino,<br><br>A lot of this is covered in the <a href="http://forge.ogf.org/sf/wiki/do/viewPage/projects.occi-wg/wiki/Registries">state registry</a> (which I&#39;ll copy below for you) but comments inline nonetheless.<br>
<br><div class="gmail_quote">On Mon, Apr 20, 2009 at 12:35 PM, Tino Vazquez <span dir="ltr">&lt;<a href="mailto:tinova@fdi.ucm.es">tinova@fdi.ucm.es</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Howdy everyone,<br>
<br>
Excellent thread. My three cents:<br>
<br>
1) I think we should define clearly the semantics of the states. for<br>
instance, what is the difference between STOPPED and SUSPENDED? Is it<br>
that with SUSPENDED the state is saved and not with STOPPED?<br>
</blockquote><div><br>Yes, it&#39;s exactly that. From the state registry: STOPPED = &quot;The resource is inactive and has no saved state&quot; and SUSPENDED=&quot;The resource is inactive and has saved state&quot;<br> </div>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">2) I really think we need an entry state like &quot;PENDING&quot; or &quot;DEFINED&quot;.<br>

It will help in implementation relying on a best-effort scheduler to<br>
match VMs and hosts, like EC2 does. This will be the state where<br>
machines will wait for a host to be available to run on. Also, I don&#39;t<br>
really think that a machine entering its life cycle in SUSPENDED state<br>
is a good idea.</blockquote><div><br>I tend to agree, but I&#39;d like the terminology to be completely unambiguous... something like &quot;NEW&quot; [for this AS].<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
3) +1 to the &quot;CRASHED&quot;, &quot;ERROR&quot; or &quot;FAILED&quot; state.<br>
</blockquote><div><br>ABORT[ING|ED] = &quot;The resource encountered an error and is aborting/has aborted&quot;.<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
What do you think?<br>
</blockquote><div><br>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.<br>
<br>Sam<br><h2 id="section-Registries-Extensions"> Extensions</h2>
<h3 id="section-Registries-StateControl"> State control</h3>

<table class="wikitable" border="1">
<tbody><tr><th>State</th><th>Transitions</th><th>Description</th></tr>
<tr><td>aborting</td><td>aborted</td><td>The resource encountered an error and is aborting</td></tr>
<tr><td><b>aborted</b></td><td>n/a</td><td>The resource encountered an error and has aborted</td></tr>
<tr><td><b>active</b></td><td><b>pause</b>, <b>restart</b>, <b>stop</b>, <b>suspend</b></td><td>The resource is active</td></tr>
<tr><td>resuming</td><td>aborting, active</td><td>The resource is becoming active and restoring state</td></tr>
<tr><td>pausing</td><td>aborting, paused</td><td>The resource is preparing to refuse new requests</td></tr>
<tr><td><b>paused</b></td><td>aborting, <b>resume</b></td><td>The resource is refusing new requests</td></tr>
<tr><td>starting</td><td>aborting, active</td><td>The resource is becoming active</td></tr>
<tr><td><b>stopped</b></td><td><b>start</b></td><td>The resource is inactive and has no saved state</td></tr>
<tr><td>stopping</td><td>stopped, aborting</td><td>The resource is becoming inactive and destroying state</td></tr>
<tr><td><b>suspended</b></td><td><b>resume</b>, <b>stop</b></td><td>The resource is inactive and has saved state</td></tr>
</tbody></table>
<p><b>Note</b>: Stable states and user transitions in <b>bold</b>.
</p> </div></div>