[libvirt] Allow to undefine a running domain

Osier Yang jyang at redhat.com
Fri Aug 19 13:40:20 UTC 2011


于 2011年08月19日 21:39, Eric Blake 写道:
> On 08/19/2011 08:03 AM, Osier Yang wrote:
>> Per API virDomainUndefineFlags' doc says, if a domain is running,
>> it will be converted to transient, but keep running. However,
>> the drivers prohibit one undefining a running domain.
>>
>> This patch series modify the internal domainUndefineFlags function
>> of all drivers (except some driver don't need to check if the
>> domain is running, it's handled by the underlying hypervisor, such
>> as ESX and XEND).
>>
>> The principle is:
>>
>> 1) Set vm->persistent = 0 for a running domain
>> 2) domainDestroy and domainShutdown will take care of remove the
>> domain obj from the hash table.
>
> For hypervisors like qemu that already support transient domains, this 
> is good. But I worry that for hypervisors like esx, which currently 
> have no notion of a transient domain, this is wrong (that is, esx 
> domains are always persistent, because the domain state is maintained 
> by esx and libvirt merely queries esx which domains exist, running or 
> otherwise; if esx doesn't support transient domains natively, then 
> libvirt can't fake it). Thus, for domains where virDomainIsPersistent 
> always returns true (such as esx), I think you need to keep the 
> restriction that attempts to undefine a running domain are rejected, 
> because the hypervisor lacks transient domain support.

I don't modify ESX driver, it don't check if the domain is running or not.

>
>>
>> [PATCH 1/8] libxl: Allow to undefine a running domain
>> [PATCH 2/8] lxc: Allow to undefine a running domain
>> [PATCH 3/8] openvz: Allow to undefine a running domain
>> [PATCH 4/8] qemu: Allow to undefine a running domain
>> [PATCH 5/8] test: Allow to undefine a running domain
>> [PATCH 6/8] uml: Allow to undefine a running domain
>> [PATCH 7/8] vmware: Allow to undefine a running domain
>> [PATCH 8/8] xen: Allow to undefine a running domain (xm_internal)
>>
>> Split the patches for easy reviewing, will merge when committing
>> if need.
>
> Nope, keep it separate; that way we can apply just the hypervisors 
> that need it.
>




More information about the libvir-list mailing list