On 01/11/2012 05:06 AM, tangchen wrote:
> utils.run()'s parameter "ignore_status" is set to "True" in virsh_cmd().
> In this case we are not able to know whether the command succeeds.
> This patch sets it to "False", and utils.run() will throw an exception
> when command fails.

Problem with this is that some commands may fail and that is not a fatal 
problem, for example:

13:49:26 ERROR| Test failed: CmdError: Command </usr/bin/virsh -c 
qemu:///system domstate vm1> failed, rc=1, Command returned non-zero 
exit status    [context: preprocessing]
* Command:
     /usr/bin/virsh -c qemu:///system domstate vm1
Exit status: 1
Duration: 0.0250420570374

stderr:
error: failed to get domain 'vm1'
error: Domain not found: no domain with matching name 'vm1'

This is just a function to probe whether the domain exists or not, so it 
shouldn't throw an exception. I agree we can do better handling of 
failures, but a more thorough patch handling failures on the functions 
dependent on virsh_cmd is needed.

So I'm rejecting the patch. Feel free to open an issue contemplating 
this perceived problem, and we can work towards a more appropriate patch.

>
> Signed-off-by: Tang Chen<[email protected]>
> ---
>   client/virt/libvirt_vm.py |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/client/virt/libvirt_vm.py b/client/virt/libvirt_vm.py
> index c825661..6f30f36 100644
> --- a/client/virt/libvirt_vm.py
> +++ b/client/virt/libvirt_vm.py
> @@ -38,7 +38,7 @@ def virsh_cmd(cmd, uri = ""):
>       if uri:
>           uri_arg = "-c " + uri
>
> -    cmd_result = utils.run("%s %s %s" % (VIRSH_EXEC, uri_arg, cmd), 
> ignore_status=True,
> +    cmd_result = utils.run("%s %s %s" % (VIRSH_EXEC, uri_arg, cmd), 
> ignore_status=False,
>                              verbose=DEBUG)
>       if DEBUG:
>           if cmd_result.stdout.strip():

_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Reply via email to