[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] virsh: add --start option to the define command



On 01/09/2013 03:28 AM, Daniel P. Berrange wrote:

>> We have virDomainDefineXML with no flags, but we have virDomainCreateXML
>> with flags; maybe the better approach is to add a new creation flag that
>> says that in addition to starting the domain, we also make it persistent
>> at the same time.
>>
>> But if we do that, it would argue that 'virsh create --persistent
>> blah.xml' is nicer than 'virsh define --start blah.xml', at least in
>> that the former needs only 1 API call for new libvirt (but falls back to
>> 2 API calls when talking to older libvirt), while the latter always
>> needs 2 API calls.
>>
>> Or maybe it means we need to add virDomainDefineXMLFlags().
>>
>> Anyone else want to throw some paint on the bikeshed on how best to make
>> the user experience nicer?
> 
> While I think the virsh idea is fine, I don't want to see this done
> at the virDomainDefine API level, since it just duplicates functionality
> already present. Just have virsh make an API call to the existing create
> API.

I agree that we don't really need to add virDomainDefineXMLFlags().  But
I'm not quite clear on your stance on adding a new flag to the existing
virDomainCreateXML().  A single API call is always nicer than two API
calls for atomicity reasons.  That is, I'm proposing that we add a new
flag, and that:

virDomainCreateXML(conn, xml, VIR_DOMAIN_CREATE_PERSISTENT)

be used to both start and define a domain in one call, and only if that
flag is unrecognized do we fall back to the two-API sequence of

virDomainCreateXML(conn, xml, 0) && virDomainDefineXML(conn, xml)

or the equivalent two-API sequence of

dom=virDomainDefineXML(conn, xml) && virDomainCreate(dom)

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]