2011/7/15 Eric Blake <eblake(a)redhat.com>:
On 07/15/2011 08:45 AM, Eric Blake wrote:
> On 07/15/2011 08:36 AM, Michal Privoznik wrote:
>>> On the other hand, if we don't support transient interfaces, then the
>>> above analysis which works for domains would have to be adjusted for
>>> interfaces, so you may have something to patch after all.
>>>
>> Well, although we have function interfaceCreate, it is actually (from
>> semantic POV) interfaceStart, because it just start inactive but defined
>> interface. So we do not support transient interfaces. Therefore
>> transitions for interfaces are slightly different from transitions for
>> domains. That's why I think we do need this patch.
>
> Let's nail down the transitions that we plan to support, then, just as I
> did earlier for domains.
>
> It would be even cooler to have a life cycle diagram with the API used
> to transition between states documented somewhere. I seem to recall
> seeing one for domains once, but couldn't find it in 5 minutes of
> searching right now.
Found it:
http://libvirt.org/guide/html-single/#Application_Development_Guide-Guest...
For some reason the anchor doesn't work for me, just for reference a
link that involves less scrolling :)
http://libvirt.org/guide/html/Application_Development_Guide-Guest_Domains...
That diagram completely lacks transient domains. It also shows
persistent/running to persistent/inactive via Shutdown, while I
mentioned Destroy (both APIs work for that transition, although Shutdown
requires guest response).
Something that could certainly use some TLC!
Also that diagram is wrong about the saved state. There is nothing
like that in context of virDomainSave/virDomainRestore. Also the
diagram misses managedsave. In the context of managedsave there is
actually a saved state.
--
Matthias Bolte
http://photron.blogspot.com