Milan Zamazal
2017-Mar-17 13:07 UTC
Re: [libvirt-users] VIR_ERR_OPERATION_INVALID from virDomainDestroyFlags call
"Daniel P. Berrange" <berrange@redhat.com> writes:> On Fri, Mar 17, 2017 at 11:55:13AM +0100, Milan Zamazal wrote: >> Hi, we experienced a strange, non-reproducible error after a successful >> migration to another host. When we called virDomainDestroyFlags with >> VIR_DOMAIN_DESTROY_GRACEFUL flag after the migration on the source host, >> we got VIR_ERR_OPERATION_INVALID (code 55) error. The same with >> repeated virDomainDestroyFlags calls. Normally, we would expect either >> success or VIR_ERR_NO_DOMAIN error. `virsh list' didn't show the VM. > > What about 'virsh list --all' - i expect you have an inactive guest > present, as calling destory on an inactive guest triggers OPERATION_INVALIDI see. It's interesting, since we use transient domains. Are there known circumstances when OPERATION_INVALID could be returned for a transient domain? Can we assume that we never receive that error when trying to destroy a running domain? Thanks, Milan
Daniel P. Berrange
2017-Mar-17 13:12 UTC
Re: [libvirt-users] VIR_ERR_OPERATION_INVALID from virDomainDestroyFlags call
On Fri, Mar 17, 2017 at 02:07:11PM +0100, Milan Zamazal wrote:> "Daniel P. Berrange" <berrange@redhat.com> writes: > > > On Fri, Mar 17, 2017 at 11:55:13AM +0100, Milan Zamazal wrote: > >> Hi, we experienced a strange, non-reproducible error after a successful > >> migration to another host. When we called virDomainDestroyFlags with > >> VIR_DOMAIN_DESTROY_GRACEFUL flag after the migration on the source host, > >> we got VIR_ERR_OPERATION_INVALID (code 55) error. The same with > >> repeated virDomainDestroyFlags calls. Normally, we would expect either > >> success or VIR_ERR_NO_DOMAIN error. `virsh list' didn't show the VM. > > > > What about 'virsh list --all' - i expect you have an inactive guest > > present, as calling destory on an inactive guest triggers OPERATION_INVALID > > I see. It's interesting, since we use transient domains. Are there > known circumstances when OPERATION_INVALID could be returned for a > transient domain? Can we assume that we never receive that error when > trying to destroy a running domain?Cleanup & destruction of domains is an area where there is relatively high level of concurrency in libvirt. So it is conceivable that you would see OPERATION_INVALID for a transient guest if libvirt is part way through cleaning it up - it shouldn't be in that state for very long though You'll never see OPERATION_INVALID if the guest is truely running - it will either be shutoff, or in the process of becoming shutoff very soon. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :|
Milan Zamazal
2017-Mar-17 14:29 UTC
Re: [libvirt-users] VIR_ERR_OPERATION_INVALID from virDomainDestroyFlags call
"Daniel P. Berrange" <berrange@redhat.com> writes:> On Fri, Mar 17, 2017 at 02:07:11PM +0100, Milan Zamazal wrote: >> "Daniel P. Berrange" <berrange@redhat.com> writes: >> >> > On Fri, Mar 17, 2017 at 11:55:13AM +0100, Milan Zamazal wrote: >> >> Hi, we experienced a strange, non-reproducible error after a successful >> >> migration to another host. When we called virDomainDestroyFlags with >> >> VIR_DOMAIN_DESTROY_GRACEFUL flag after the migration on the source host, >> >> we got VIR_ERR_OPERATION_INVALID (code 55) error. The same with >> >> repeated virDomainDestroyFlags calls. Normally, we would expect either >> >> success or VIR_ERR_NO_DOMAIN error. `virsh list' didn't show the VM. >> > >> > What about 'virsh list --all' - i expect you have an inactive guest >> > present, as calling destory on an inactive guest triggers OPERATION_INVALID >> >> I see. It's interesting, since we use transient domains. Are there >> known circumstances when OPERATION_INVALID could be returned for a >> transient domain? Can we assume that we never receive that error when >> trying to destroy a running domain? > > Cleanup & destruction of domains is an area where there is relatively > high level of concurrency in libvirt. So it is conceivable that you > would see OPERATION_INVALID for a transient guest if libvirt is part > way through cleaning it up - it shouldn't be in that state for very > long thoughWe had the state returning OPERATION_INVALID for "infinite" time. That could be caused by some bug or maybe problems with storage or whatever, we don't know.> You'll never see OPERATION_INVALID if the guest is truely running - it > will either be shutoff, or in the process of becoming shutoff very soon.OK, thank you for explanation and clarification. Regards, Milan
Possibly Parallel Threads
- Re: VIR_ERR_OPERATION_INVALID from virDomainDestroyFlags call
- Re: VIR_ERR_OPERATION_INVALID from virDomainDestroyFlags call
- VIR_ERR_OPERATION_INVALID from virDomainDestroyFlags call
- Re: [PATCH libguestfs v3] lib: Handle slow USB devices more gracefully.
- [PATCH libguestfs v3] lib: Handle slow USB devices more gracefully.