
On Thu, Nov 19, 2009 at 04:34:12PM +0000, Daniel P. Berrange wrote:
On Wed, Nov 18, 2009 at 02:31:12PM +0100, Daniel Veillard wrote:
-Most B<virsh> commands act asynchronously, so just because the B<virsh> -program returned, doesn't mean the action is complete. This is -important, as many operations on domains, like create and shutdown, -can take considerable time (30 seconds or more) to bring the machine -into a fully compliant state. If you want to know when one of these -actions has finished you must poll through virsh list periodically. +Most B<virsh> commands act synchronously, except maybe shutdown +and domain creation. In those case the fact that the B<virsh> +program returned, may not mean the action is complete and you +must poll through virsh list periodically to detect that the +operation completed.
Shutdown is async, but domain creation is certainly supposed to be synchronous. Of course the guest may immediately crash so appear inactive again just after create returns
Well I was also thinking that Create like Shutdown, the process is at best started in the Domain OS but completion can't be asserted just because the command started. I think the idea of creating the guess is also implicitely tied with the OS booting th the mind of users, and well their domain won't respond to requests for a little bit even if the create succeeded.
Thinking about it, I believe virDomainShutdown/Reboot, and the SetMemory and SetVcpus are the only two APIs that are allowed to be async, because they merely update the guest, but don't wait for it to react.
Okay I was wondering for all our storage operations, some of thse can certainly take a very long time. Network operations should be more or less instant. Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/