
libvirt-cim-bounces@redhat.com wrote on 2008-11-03 16:57:39:
libvirt-cim-bounces@redhat.com wrote on 2008-11-03 16:40:49:
# HG changeset patch # User Guolian Yun <yunguol@cn.ibm.com> # Date 1225701642 28800 # Node ID 636e060429738891aae9d1c5ca43e12d1508773c # Parent d1614c101c281b57bd2bc98dfb6625f790748e54 [TEST] Move some functions from utils.py to xm_virt_util.py
I will do below on the next: 1) Update common_util.py 2) Delete these functions in utils.py 3) Update all related tc
Signed-off-by: Guolian Yun <yunguol@cn.ibm.com>
diff -r d1614c101c28 -r 636e06042973 suites/libvirt- cim/lib/XenKvmLib/test_doms.py --- a/suites/libvirt-cim/lib/XenKvmLib/test_doms.py Wed Oct 29 20: 11:47 2008 -0700 +++ b/suites/libvirt-cim/lib/XenKvmLib/test_doms.py Mon Nov 03 00: 40:42 2008 -0800 @@ -24,7 +24,7 @@ import tempfile import os from VirtLib import utils -from XenKvmLib.xm_virt_util import domain_list +from XenKvmLib.xm_virt_util import domain_list, virt2uri from CimTest.Globals import CIM_FUUID
try: @@ -47,19 +47,19 @@ f.write(xml) f.close()
- cmd = "virsh -c %s define %s" % (utils.virt2uri(virt), name) + cmd = "virsh -c %s define %s" % (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" % (utils.virt2uri(virt), name) + cmd = "virsh -c %s undefine %s" % (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" % (utils.virt2uri(virt), name) + cmd = "virsh -c %s start %s" % (virt2uri(virt), name) s, o = utils.run_remote(server, cmd)
return s == 0 @@ -68,7 +68,7 @@ """Get a list of domid from virsh"""
cmd = "virsh -c %s list 2>/dev/null | sed '1,2 d; /^$/d'" % \ - utils.virt2uri(virt) + virt2uri(virt) ret, out = utils.run_remote(server, cmd) if ret != 0: return None @@ -109,7 +109,7 @@ def viruuid(name, server, virt="Xen"): """Return domain uuid given domid or domname""" cmd = "virsh -c %s domuuid %s 2>/dev/null | sed '/^$/d'" % \ - (utils.virt2uri(virt), name) + (virt2uri(virt), name) ret, out = utils.run_remote(server, cmd) if ret == 0: return out.strip(" \n") @@ -120,7 +120,7 @@ """Destroy and undefine a domain. name could be domid or domname""" cmd = "virsh -c %s 'destroy %s ; undefine %s'" % \ - (utils.virt2uri(virt), name, name) + (virt2uri(virt), name, name) utils.run_remote(server, cmd)
def destroy_and_undefine_all(server, virt="Xen", aggressive = False): @@ -154,7 +154,7 @@ else: name = xmlfile_domname
- vcmd = "virsh -c %s %s %s" % (utils.virt2uri(virt), cmd, name) + vcmd = "virsh -c %s %s %s" % (virt2uri(virt), cmd, name) s, o = utils.run_remote(server, vcmd) if cmd == "define" or cmd == "create": f.close() @@ -165,7 +165,7 @@ Get the vcpu lists. The input is either the domid or domname. """ cmd = "virsh -c %s vcpuinfo %s | grep '^$' | wc -l" % \ - (utils.virt2uri(virt), name_id) + (virt2uri(virt), name_id) ret, out = utils.run_remote(server, cmd)
if ret != 0: @@ -180,7 +180,7 @@ nf.write(net_xml) nf.flush() fname = nf.name - cmd = "virsh -c %s net-create %s" % (utils.virt2uri(virt), fname) + cmd = "virsh -c %s net-create %s" % (virt2uri(virt), fname) ret, out = utils.run_remote(server, cmd) nf.close() if ret != 0: diff -r d1614c101c28 -r 636e06042973 suites/libvirt- cim/lib/XenKvmLib/test_xml.py --- a/suites/libvirt-cim/lib/XenKvmLib/test_xml.py Wed Oct 29 20: 11:47 2008 -0700 +++ b/suites/libvirt-cim/lib/XenKvmLib/test_xml.py Mon Nov 03 00: 40:42 2008 -0800 @@ -35,7 +35,7 @@ from XenKvmLib.test_doms import set_uuid, create_vnet from VirtLib.live import available_bridges from XenKvmLib.xm_virt_util import net_list,
get_bridge_from_network_xml, \
- bootloader + bootloader, virt2uri from CimTest.ReturnCodes import SKIP
image_dir = "/tmp" @@ -201,7 +201,7 @@
def dumpxml(name, server, virt="Xen"): - cmd = "virsh -c %s dumpxml %s" % (utils.virt2uri(virt), name) + cmd = "virsh -c %s dumpxml %s" % (virt2uri(virt), name) s, o = utils.run_remote(server, cmd) if s == 0: return o diff -r d1614c101c28 -r 636e06042973 suites/libvirt- cim/lib/XenKvmLib/xm_virt_util.py --- a/suites/libvirt-cim/lib/XenKvmLib/xm_virt_util.py Wed Oct 29 20:11:47 2008 -0700 +++ b/suites/libvirt-cim/lib/XenKvmLib/xm_virt_util.py Mon Nov 03 00:40:42 2008 -0800 @@ -63,7 +63,7 @@ """
guest_cmd = "cat /proc/partitions | awk '/^ /{ print $4 } ' " - rc, out = utils.run_remote_guest(ip, vs_name, guest_cmd) + rc, out = run_remote_guest(ip, vs_name, guest_cmd)
if rc != 0: return None @@ -89,7 +89,7 @@ virt = "Xen"
cmd = "virsh -c %s list --all | sed -e '1,2 d' -e '$ d'" % \ - utils.virt2uri(virt) + virt2uri(virt) ret, out = utils.run_remote(server, cmd)
if ret != 0: @@ -109,7 +109,7 @@ virt = "Xen"
cmd = "virsh -c %s list | sed -e '1,2 d' -e '$ d'" % \ - utils.virt2uri(virt) + virt2uri(virt) ret, out = utils.run_remote(server, cmd)
if ret != 0: @@ -156,7 +156,7 @@ """Function to list active network""" names = [] cmd = "virsh -c %s net-list | sed -e '1,2 d' -e '$ d'" % \ - utils.virt2uri(virt) + virt2uri(virt) ret, out = utils.run_remote(server, cmd)
if ret != 0: @@ -173,7 +173,7 @@ """Function returns bridge name for a given virtual network"""
cmd = "virsh -c %s net-dumpxml %s | awk '/bridge name/ { print $2 }'" % \ - (utils.virt2uri(virt), network) + (virt2uri(virt), network) ret, out = utils.run_remote(server, cmd)
if ret != 0: @@ -196,7 +196,7 @@ return None
def virsh_version(server, virt="KVM"): - cmd = "virsh -c %s -v " % utils.virt2uri(virt) + cmd = "virsh -c %s -v " % virt2uri(virt) ret, out = utils.run_remote(server, cmd) if ret != 0: return None @@ -206,7 +206,7 @@ """Function to list active DiskPool list""" names = [] cmd = "virsh -c %s pool-list | sed -e '1,2 d' -e '$ d'" % \ - utils.virt2uri(virt) + virt2uri(virt) ret, out = utils.run_remote(server, cmd)
if ret != 0: @@ -221,7 +221,7 @@ return names
def virsh_vcpuinfo(server, dom, virt="Xen"): - cmd = "virsh -c %s vcpuinfo %s | grep VCPU | wc -l" % (utils. virt2uri(virt), + cmd = "virsh -c %s vcpuinfo %s | grep VCPU | wc -l" % (virt2uri(virt), dom) ret, out = utils.run_remote(server, cmd) if out.isdigit(): @@ -229,10 +229,70 @@ return None
def get_hv_ver(server, virt="Xen"): - cmd = "virsh -c %s version | grep ^Running | cut -d ' ' -f 3,4" % utils.virt2uri(virt) + cmd = "virsh -c %s version | grep ^Running | cut -d ' ' -f 3,4" %virt2uri(virt) ret, out = utils.run_remote(server, cmd) if ret == 0: return out else: return None
+def run_remote_guest(ip, domain, command): + """ Execute commands on remote guest console. + """ + + cmd = 'python %s %s "%s"' % (CONSOLE_APP_PATH, domain, command) + + return run_remote(ip, cmd) + +
Kaitlin,
I think we can remove run_remote_guest to xm_virt_util.py under ../libvirt-cim/lib/XenKvmLib, because it have to be used by live.py under lib/VirtLib. We have to make it stay in utils.py.
Thoughts?
If you agree to make it stay in utils.py, I will rework on this
I'm sorry, I intend to say we cann't remove run_remote_guest() from ../lib/XenKvmLib to xm_virt_util.py =) patch.
Thanks!
+def get_xmtest_files(ip, kernel): + # get the xm-test disk from morbo + rc, out = run_remote(ip, + "rm -rf /tmp/boot ; mkdir -p /tmp/boot /tmp/xmtest") + rc, out = run_remote(ip, + "cd /tmp/boot ; wget http://morbo.linux.ibm.com/pub/xmtest.disk.gz ") + if rc != 0: + return 2, "fetching xmtest.disk failed:\n%s" % out + + # mount on /tmp/xmtest + rc, out = run_remote(ip, + "gzip -d /tmp/boot/xmtest.disk.gz ; mount -o loop /tmp/boot/xmtest.disk /tmp/xmtest") + if rc != 0: + run_remote(ip, "umount /tmp/xmtest") + return 2, "mounting xmtest.disk failed:\n%s" % out + + # We need "uname -r" to name the kernel correctly + rc, uname = run_remote(ip, "uname -r") + if rc != 0: + run_remote(ip, "umount /tmp/xmtest") + return 2, "uname failed:\n%s" % out + + # get the kernel binary, put in /tmp/boot + rc, out = run_remote(ip, + "wget %s -O /tmp/boot/vmlinuz-\`uname -r\`" % kernel) + if rc != 0: + run_remote(ip, "umount /tmp/xmtest") + return 2, "fetching kernel failed:\n%s" % out + + return 0, "" + +def customize_xmtest_ramdisk(ip): + # customize modules on xm-test ramdisk + # cd $xmtestdir/ramdisk ; bin/add_modules_to_initrd ; cd + rc, out = run_remote(ip, + "cd /tmp/xmtest/ramdisk ; bin/add_modules_to_initrd") + if rc != 0: + run_remote(ip, "umount /tmp/xmtest") + return 2, "customizing ramdisk failed:\n%s" % out + + return 0, "" + +def virt2uri(virt): + # convert cimtest --virt param string to libvirt uri + if virt == "Xen" or virt == "XenFV": + return "xen:///" + if virt == "KVM": + return "qemu:///system" + if virt == "LXC": + return "lxc:///system" + return "" diff -r d1614c101c28 -r 636e06042973 suites/libvirt-cim/main.py --- a/suites/libvirt-cim/main.py Wed Oct 29 20:11:47 2008 -0700 +++ b/suites/libvirt-cim/main.py Mon Nov 03 00:40:42 2008 -0800 @@ -36,6 +36,7 @@ default_pool_name from XenKvmLib.reporting import gen_report, send_report from VirtLib import utils +from XenKvmLib.xm_virt_util import virt2uri from CimTest.ReturnCodes import PASS, FAIL from XenKvmLib.common_util import create_netpool_conf, destroy_netpool, \ create_diskpool_conf, destroy_diskpool @@ -90,12 +91,12 @@ print "Cleaned log files."
def pre_check(ip, virt): - cmd = "virsh -c %s list --all" % utils.virt2uri(virt) + cmd = "virsh -c %s list --all" % 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" % utils.virt2uri(virt) + cmd = "virsh -c %s version" % virt2uri(virt) ret, out = utils.run_remote(ip, cmd) if ret != 0: return "Encountered an error querying libvirt with: %s" % cmd
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim
Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim