[libvirt-users] Better error codes when stopping a VM that is already stopped

Daniel P. Berrange berrange at redhat.com
Mon May 24 10:24:39 UTC 2010


On Fri, May 21, 2010 at 02:11:47PM +0200, Guido Winkelmann wrote:
> Hi,
> 
> Sometimes when stopping a virtual domain using virDomainDestroy(), I come 
> across a domain that is already stopped. (For example when someone already 
> stopped the domain manually using virsh or because the guest OS issued a 
> shutdown.) This is a special case that I absolutely need to catch and handle.
> 
> Unfortunately, when this happens, and I call virGetLastError() afterwards, I 
> always just get the error code VIR_ERR_OPERATION_INVALID, which doesn't look 
> very precise to me...
> 
> Two questions about this:
> 
> Is the domain not running at that moment the only possible condition that can 
> trigger this particular error code when calling virDomainDestroy()?

The VIR_ERR_OPERATION_INVALID is a precise code that says the request
operation is not valid wrt the current state of the guest. So for the
virDomainDestroy() method, the only cause of this message is requesting
destroy of a guest that is not running.

Similarly you'll get it if you try to start a guest that is already
running.

> Can't we have a more obvious/precise error code in that case, like 
> VIR_ERR_DOMAIN_NOT_RUNNING or something like that?

The VIR_ERR_OPERATION_INVALID is already very precisely defined
as you need.


Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvirt-users mailing list