On Thu, Aug 23, 2012 at 12:19:24PM +0900, MATSUDA, Daiki wrote:
Hi. All.
I rewrote the patched for git head tree, adding some code.
And @timeout must be following
VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK(-2) : does not block and wait forever.
VIR_DOMAIN_QEMU_AGENT_COMMAND_DEFAULT(-1) : use default time for waiting
VIR_DOMAIN_QEMU_AGENT_COMMAND_NOWIAT(0) : does not wait and out soon
positive value : wait for pointed seconds.
And I also add VIR_DOMAIN_QEMU_AGENT_COMMAND_MIN for not writing static value.
In addition, I added the some options for virsh command qemu-agent-command
--block : it means taht @timeout is VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK.
--async : it means taht @timeout is VIR_DOMAIN_QEMU_AGENT_COMMAND_NOWIAT.
--timeout @seconds : @seconds must be positive value and it means that @timeout
is positive value case.
These upper options are exclusive.
If no options are given, it means taht @timeout is IR_DOMAIN_QEMU_AGENT_COMMAND_DEFAULT.
virsh # help qemu-agent-command
NAME
qemu-agent-command - QEMU Guest Agent Command
SYNOPSIS
qemu-agent-command <domain> [--timeout <number>] [--async] [--block]
{[--cmd] <string>}...
DESCRIPTION
Run an arbitrary qemu guest agent command; use at your own risk
OPTIONS
[--domain] <string> domain name, id or uuid
--timeout <number> timeout seconds. must be positive.
--async execute command without waiting for timeout
--block execute command without timeout
[--cmd] <string> command
Okay, I think that patch set is ripe, and since it it not touching the
main libvirt API I think it's okay to push it now even if we entered
freeze yesterday.
My main concern is error handling, we must improve that part in
subsequent patches preferably before the 0.10.0 release, an attempt to
run an unsupported agent command or with an error syntax should
be reported correctly at the C level and an exception should be raised
in Python.
I also had to reformat all the comment which got mangled as the
mail title for some reason,
Anyway it's in! thanks a lot, but let's fix the error handling :-)
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/