[Libvirt-cim] [PATCH] [TEST] Fix calls to virsh to handle potiential extra debug messages from virsh
Richard Maciel
rmaciel at linux.vnet.ibm.com
Tue Dec 8 15:45:38 UTC 2009
+1
On 12/04/2009 09:33 PM, Kaitlin Rupert wrote:
> # HG changeset patch
> # User Kaitlin Rupert<karupert at us.ibm.com>
> # Date 1259878320 28800
> # Node ID c19371e7fb585e64291dafc2b7f84dc1f1d8255e
> # Parent e9de3634a25633777e40bd80cc400a07ed42c6e1
> [TEST] Fix calls to virsh to handle potiential extra debug messages from virsh
>
> Occasionally, virsh will return additional debug or error messages. This
> change makes it so our virsh command only returns stdout. We don't care about
> the output of stderr, so might as well drop it. That way, it doesn't
> interfere when we parse the output.
>
> diff -r e9de3634a256 -r c19371e7fb58 suites/libvirt-cim/lib/XenKvmLib/common_util.py
> --- a/suites/libvirt-cim/lib/XenKvmLib/common_util.py Thu Dec 03 14:12:00 2009 -0800
> +++ b/suites/libvirt-cim/lib/XenKvmLib/common_util.py Thu Dec 03 14:12:00 2009 -0800
> @@ -246,12 +246,12 @@
> return rc, out
>
> def pre_check(ip, virt):
> - cmd = "virsh -c %s list --all" % virt2uri(virt)
> + cmd = "virsh -c %s list --all 2>/dev/null" % virt2uri(virt)
> ret, out = utils.run_remote(ip, cmd)
> if ret != 0:
> return "This libvirt install does not support %s" % virt
>
> - cmd = "virsh -c %s version" % virt2uri(virt)
> + cmd = "virsh -c %s version 2>/dev/null" % virt2uri(virt)
> ret, out = utils.run_remote(ip, cmd)
> if ret != 0:
> # The above version cmd does not work for F10.
> @@ -341,7 +341,8 @@
> dpoolname=dpool_list[0]
>
> if dpoolname == None:
> - cmd = "virsh -c %s pool-info %s" % (virt2uri(virt), dpool)
> + cmd = "virsh -c %s pool-info %s 2>/dev/null" % \
> + (virt2uri(virt), dpool)
> ret, out = utils.run_remote(server, cmd)
> if ret == 0:
> logger.error("Disk pool with name '%s' already exists", dpool)
> @@ -403,7 +404,7 @@
> test_network = vir_network[0]
>
> if test_network == None:
> - cmd = "virsh -c %s net-list --all | grep -w %s" % \
> + cmd = "virsh -c %s net-list --all 2>/dev/null | grep -w %s" % \
> (virt2uri(virt), net_name)
> ret, out = utils.run_remote(server, cmd)
> # If success, network pool with name net_name already exists
> diff -r e9de3634a256 -r c19371e7fb58 suites/libvirt-cim/lib/XenKvmLib/pool.py
> --- a/suites/libvirt-cim/lib/XenKvmLib/pool.py Thu Dec 03 14:12:00 2009 -0800
> +++ b/suites/libvirt-cim/lib/XenKvmLib/pool.py Thu Dec 03 14:12:00 2009 -0800
> @@ -107,7 +107,7 @@
>
> def enum_volumes(virt, server, pooln=default_pool_name):
> volume = 0
> - cmd = "virsh -c %s vol-list %s | sed -e '1,2 d' -e '$ d'" % \
> + cmd = "virsh -c %s vol-list %s 2>/dev/null | sed -e '1,2 d' -e '$ d'" % \
> (virt2uri(virt), pooln)
> ret, out = run_remote(server ,cmd)
> if ret != 0:
> @@ -115,7 +115,8 @@
> lines = out.split("\n")
> for line in lines:
> vol = line.split()[0]
> - cmd = "virsh -c %s vol-info --pool %s %s" % (virt2uri(virt), pooln, vol)
> + cmd = "virsh -c %s vol-info --pool %s %s 2>/dev/null" % \
> + (virt2uri(virt), pooln, vol)
> ret, out = run_remote(server ,cmd)
> if ret == 0:
> volume = volume + 1
> @@ -164,7 +165,7 @@
> def net_undefine(network, server, virt="Xen"):
> """Function undefine a given virtual network"""
>
> - cmd = "virsh -c %s net-undefine %s" % (virt2uri(virt), network)
> + cmd = "virsh -c %s net-undefine %s 2>/dev/null" % (virt2uri(virt), network)
> ret, out = run_remote(server, cmd)
>
> return ret
> @@ -186,7 +187,8 @@
> if dp_name == None:
> return FAIL
>
> - cmd = "virsh -c %s pool-undefine %s" % (virt2uri(virt), dp_name)
> + cmd = "virsh -c %s pool-undefine %s 2>/dev/null" % \
> + (virt2uri(virt), dp_name)
> ret, out = run_remote(server, cmd)
> if ret != 0:
> logger.error("Failed to undefine pool '%s'", dp_name)
> diff -r e9de3634a256 -r c19371e7fb58 suites/libvirt-cim/lib/XenKvmLib/reporting.py
> --- a/suites/libvirt-cim/lib/XenKvmLib/reporting.py Thu Dec 03 14:12:00 2009 -0800
> +++ b/suites/libvirt-cim/lib/XenKvmLib/reporting.py Thu Dec 03 14:12:00 2009 -0800
> @@ -42,7 +42,7 @@
> def get_libvirt_ver(ip):
> libvirt_ver = "Unknown"
> hyp_ver = "Unknown"
> - cmd = "virsh version"
> + cmd = "virsh version 2>/dev/null"
> virsh_ver = get_cmd_val(cmd, ip)
> if virsh_ver != "Unknown":
> libvirt, tok1, tok2, hypervisor = virsh_ver.splitlines()
> diff -r e9de3634a256 -r c19371e7fb58 suites/libvirt-cim/lib/XenKvmLib/test_doms.py
> --- a/suites/libvirt-cim/lib/XenKvmLib/test_doms.py Thu Dec 03 14:12:00 2009 -0800
> +++ b/suites/libvirt-cim/lib/XenKvmLib/test_doms.py Thu Dec 03 14:12:00 2009 -0800
> @@ -47,19 +47,19 @@
> f.write(xml)
> f.close()
>
> - cmd = "virsh -c %s define %s" % (virt2uri(virt), name)
> + cmd = "virsh -c %s define %s 2>/dev/null" % (virt2uri(virt), name)
> s, o = utils.run_remote(server, cmd)
>
> return s == 0
>
> def undefine_test_domain(name, server, virt="Xen"):
> - cmd = "virsh -c %s undefine %s" % (virt2uri(virt), name)
> + cmd = "virsh -c %s undefine %s 2>/dev/null" % (virt2uri(virt), name)
> s, o = utils.run_remote(server, cmd)
>
> return s == 0
>
> def start_test_domain(name, server, virt="Xen"):
> - cmd = "virsh -c %s start %s" % (virt2uri(virt), name)
> + cmd = "virsh -c %s start %s 2>/dev/null" % (virt2uri(virt), name)
> s, o = utils.run_remote(server, cmd)
>
> return s == 0
> @@ -119,7 +119,7 @@
> def destroy_and_undefine_domain(name, server, virt="Xen"):
> """Destroy and undefine a domain.
> name could be domid or domname"""
> - cmd = "virsh -c %s 'destroy %s ; undefine %s'" % \
> + cmd = "virsh -c %s 'destroy %s ; undefine %s' 2>/dev/null" % \
> (virt2uri(virt), name, name)
> utils.run_remote(server, cmd)
>
> @@ -154,7 +154,7 @@
> else:
> name = xmlfile_domname
>
> - vcmd = "virsh -c %s %s %s" % (virt2uri(virt), cmd, name)
> + vcmd = "virsh -c %s %s %s 2>/dev/null" % (virt2uri(virt), cmd, name)
> s, o = utils.run_remote(server, vcmd)
> if cmd == "define" or cmd == "create":
> f.close()
> @@ -164,7 +164,7 @@
> """
> Get the vcpu lists. The input is either the domid or domname.
> """
> - cmd = "virsh -c %s vcpuinfo %s | grep '^$' | wc -l" % \
> + cmd = "virsh -c %s vcpuinfo %s 2>/dev/null | grep '^$' | wc -l" % \
> (virt2uri(virt), name_id)
> ret, out = utils.run_remote(server, cmd)
>
> @@ -180,7 +180,7 @@
> nf.write(net_xml)
> nf.flush()
> fname = nf.name
> - cmd = "virsh -c %s net-create %s" % (virt2uri(virt), fname)
> + cmd = "virsh -c %s net-create %s 2>/dev/null" % (virt2uri(virt), fname)
> ret, out = utils.run_remote(server, cmd)
> nf.close()
> if ret != 0:
> diff -r e9de3634a256 -r c19371e7fb58 suites/libvirt-cim/lib/XenKvmLib/vxml.py
> --- a/suites/libvirt-cim/lib/XenKvmLib/vxml.py Thu Dec 03 14:12:00 2009 -0800
> +++ b/suites/libvirt-cim/lib/XenKvmLib/vxml.py Thu Dec 03 14:12:00 2009 -0800
> @@ -176,7 +176,7 @@
> " cmd on '%s'", vcmd, ip)
> return 0
>
> - cmd = 'virsh -c %s %s %s' % (self.vuri, vcmd, name)
> + cmd = 'virsh -c %s %s %s 2>/dev/null' % (self.vuri, vcmd, name)
> s, o = utils.run_remote(ip, cmd)
> if vcmd == 'define' or vcmd == 'create' or vcmd == 'net-create' \
> or vcmd == 'pool-create':
> @@ -223,7 +223,7 @@
> self.server = server
>
> if is_new_net is False:
> - cmd = "virsh net-dumpxml %s" % self.net_name
> + cmd = "virsh net-dumpxml %s 2>/dev/null" % self.net_name
> s, net_xml = utils.run_remote(server, cmd)
> if s != 0:
> logger.error("Encounter error dump netxml")
> @@ -245,7 +245,8 @@
>
> n_list = net_list(server, virt)
> for _net_name in n_list:
> - cmd = "virsh net-dumpxml %s | awk '/ip address/ {print}' | \
> + cmd = "virsh net-dumpxml %s 2>/dev/null | \
> + awk '/ip address/ {print}' | \
> cut -d ' ' -f 4 | sed 's/address=//'" % _net_name
> s, in_use_addr = utils.run_remote(server, cmd)
> in_use_addr = in_use_addr.strip("'")
> @@ -302,7 +303,7 @@
> self.server = server
>
> if is_new_pool is False:
> - cmd = "virsh pool-dumpxml %s" % self.pool_name
> + cmd = "virsh pool-dumpxml %s 2>/dev/null" % self.pool_name
> s, disk_xml = utils.run_remote(server, cmd)
> if s != 0:
> logger.error("Encounter error dump netxml")
> @@ -516,7 +517,7 @@
> return networkStr
>
> def dumpxml(self, ip):
> - cmd = 'virsh -c %s dumpxml %s' % (self.vuri, self.dname)
> + cmd = 'virsh -c %s dumpxml %s 2>/dev/null' % (self.vuri, self.dname)
> s, o = utils.run_remote(ip, cmd)
> if s == 0:
> self.xml_string = o
> diff -r e9de3634a256 -r c19371e7fb58 suites/libvirt-cim/lib/XenKvmLib/xm_virt_util.py
> --- a/suites/libvirt-cim/lib/XenKvmLib/xm_virt_util.py Thu Dec 03 14:12:00 2009 -0800
> +++ b/suites/libvirt-cim/lib/XenKvmLib/xm_virt_util.py Thu Dec 03 14:12:00 2009 -0800
> @@ -97,7 +97,7 @@
> if virt == "XenFV":
> virt = "Xen"
>
> - cmd = "virsh -c %s destroy %s" % (virt2uri(virt), dom)
> + cmd = "virsh -c %s destroy %s 2>/dev/null" % (virt2uri(virt), dom)
> ret, out = utils.run_remote(server, cmd)
> print cmd, ret, out
>
> @@ -108,7 +108,7 @@
> if virt == "XenFV":
> virt = "Xen"
>
> - cmd = "virsh -c %s list --all | sed -e '1,2 d' -e '$ d'" % \
> + cmd = "virsh -c %s list --all 2>/dev/null | sed -e '1,2 d' -e '$ d'" % \
> virt2uri(virt)
> ret, out = utils.run_remote(server, cmd)
>
> @@ -128,7 +128,7 @@
> if virt == "XenFV":
> virt = "Xen"
>
> - cmd = "virsh -c %s list | sed -e '1,2 d' -e '$ d'" % \
> + cmd = "virsh -c %s list 2>/dev/null | sed -e '1,2 d' -e '$ d'" % \
> virt2uri(virt)
> ret, out = utils.run_remote(server, cmd)
>
> @@ -175,7 +175,7 @@
> def net_list(server, virt="Xen"):
> """Function to list active network"""
> names = []
> - cmd = "virsh -c %s net-list | sed -e '1,2 d' -e '$ d'" % \
> + cmd = "virsh -c %s net-list 2>/dev/null | sed -e '1,2 d' -e '$ d'" % \
> virt2uri(virt)
> ret, out = utils.run_remote(server, cmd)
>
> @@ -192,8 +192,8 @@
> def get_bridge_from_network_xml(network, server, virt="Xen"):
> """Function returns bridge name for a given virtual network"""
>
> - cmd = "virsh -c %s net-dumpxml %s | awk '/bridge name/ { print $2 }'" % \
> - (virt2uri(virt), network)
> + cmd = "virsh -c %s net-dumpxml %s 2>/dev/null | \
> + awk '/bridge name/ { print $2 }'" % (virt2uri(virt), network)
> ret, out = utils.run_remote(server, cmd)
>
> if ret != 0:
> @@ -205,7 +205,7 @@
> def net_destroy(network, server, virt="Xen"):
> """Function destroys a given virtual network"""
>
> - cmd = "virsh -c %s net-destroy %s" % (virt2uri(virt), network)
> + cmd = "virsh -c %s net-destroy %s 2>/dev/null" % (virt2uri(virt), network)
> ret, out = utils.run_remote(server, cmd)
>
> return ret
> @@ -224,7 +224,7 @@
> return None
>
> def virsh_version(server, virt="KVM"):
> - cmd = "virsh -c %s -v " % virt2uri(virt)
> + cmd = "virsh -c %s -v 2>/dev/null" % virt2uri(virt)
> ret, out = utils.run_remote(server, cmd)
> if ret != 0:
> return None
> @@ -233,7 +233,7 @@
> def diskpool_list(server, virt="KVM"):
> """Function to list active DiskPool list"""
> names = []
> - cmd = "virsh -c %s pool-list | sed -e '1,2 d' -e '$ d'" % \
> + cmd = "virsh -c %s pool-list 2>/dev/null | sed -e '1,2 d' -e '$ d'" % \
> virt2uri(virt)
> ret, out = utils.run_remote(server, cmd)
>
> @@ -251,7 +251,7 @@
> def vol_list(server, virt="KVM", pool_name=None):
> """ Function to list the volumes of a pool"""
>
> - cmd = "virsh -c %s vol-list %s | sed -e '1,2 d' -e '$ d'" \
> + cmd = "virsh -c %s vol-list %s 2>/dev/null | sed -e '1,2 d' -e '$ d'" \
> % (virt2uri(virt), pool_name)
> ret, out = utils.run_remote(server, cmd)
> if ret != 0:
> @@ -262,7 +262,7 @@
> def vol_delete(server, virt="KVM", vol_name=None, pool_name=None):
> """ Function to delete the volume of a pool"""
>
> - cmd = "virsh -c %s vol-delete %s --pool %s"\
> + cmd = "virsh -c %s vol-delete %s --pool %s 2>/dev/null" \
> % (virt2uri(virt), vol_name, pool_name)
> ret, out = utils.run_remote(server, cmd)
> if ret != 0:
> @@ -272,19 +272,19 @@
>
>
> def virsh_vcpuinfo(server, dom, virt="Xen"):
> - cmd = "virsh -c %s vcpuinfo %s | grep VCPU | wc -l" % (virt2uri(virt),
> - dom)
> + cmd = "virsh -c %s vcpuinfo %s 2>/dev/null | grep VCPU | wc -l" \
> + % (virt2uri(virt), dom)
> ret, out = utils.run_remote(server, cmd)
> if out.isdigit():
> return out
> return None
>
> def get_hv_ver(server, virt="Xen"):
> - cmd = "virsh -c %s version" %virt2uri(virt)
> + cmd = "virsh -c %s version 2>/dev/null" %virt2uri(virt)
> ret, out = utils.run_remote(server, cmd)
> if ret == 0:
> - cmd = "virsh -c %s version | grep ^Running | cut -d ' ' -f 3,4" \
> - %virt2uri(virt)
> + cmd = "virsh -c %s version 2>/dev/null | grep ^Running | \
> + cut -d ' ' -f 3,4" % virt2uri(virt)
>
> # This is a workaround work for F10.
> # The version option does not seem to work on F10.
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim
--
Richard Maciel, MSc
IBM Linux Technology Center
rmaciel at linux.vnet.ibm.com
More information about the Libvirt-cim
mailing list