Re: [Autotest] [PATCH 1/2] Adds a test to verify resources inside a VM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2009-11-27 at 13:14 +0530, sudhir kumar wrote:
> Folks,
> Any comments on the patch below ?

I'll get to it today and comment on it, Sudhir, thanks!

> On Wed, Nov 25, 2009 at 11:35 AM, sudhir kumar <smalikphy@xxxxxxxxx> wrote:
> > This patch adds a test for verifying whether the number of cpus and amount
> > of memory as seen inside a guest is same as allocated to it on the qemu
> > command line.
> >
> > Signed-off-by: Sudhir Kumar <skumar@xxxxxxxxxxxxxxxxxx>
> >
> > Index: kvm/tests/verify_resources.py
> > ===================================================================
> > --- /dev/null
> > +++ kvm/tests/verify_resources.py
> > @@ -0,0 +1,74 @@
> > +import logging, time
> > +from autotest_lib.client.common_lib import error
> > +import kvm_subprocess, kvm_test_utils, kvm_utils
> > +
> > +"""
> > +Test to verify if the guest has the equal amount of resources
> > +as allocated through the qemu command line
> > +
> > +@Copyright: 2009 IBM Corporation
> > +@author: Sudhir Kumar <skumar@xxxxxxxxxxxxxxxxxx>
> > +
> > +"""
> > +
> > +def run_verify_resources(test, params, env):
> > +    """
> > +    KVM test for verifying VM resources(#vcpu, memory):
> > +    1) Get resources from the VM parameters
> > +    2) Log into the guest
> > +    3) Get actual resources, compare and report the pass/failure
> > +
> > +    @param test: kvm test object
> > +    @param params: Dictionary with the test parameters
> > +    @param env: Dictionary with test environment.
> > +    """
> > +    vm = kvm_test_utils.get_living_vm(env, params.get("main_vm"))
> > +
> > +    # Get info about vcpu and memory from dictionary
> > +    exp_vcpus = int(params.get("smp"))
> > +    exp_mem_mb = long(params.get("mem"))
> > +    real_vcpus = 0
> > +    real_mem_kb = 0
> > +    real_mem_mb = 0
> > +    # Some memory is used by bios and all, so lower the expected
> > value say by 5%
> > +    exp_mem_mb = long(exp_mem_mb * 0.95)
> > +    logging.info("The guest should have vcpus: %s" % exp_vcpus)
> > +    logging.info("The guest should have min mem: %s MB" % exp_mem_mb)
> > +
> > +    session = kvm_test_utils.wait_for_login(vm)
> > +
> > +    # Get info about vcpu and memory from within guest
> > +    if params.get("guest_os_type") == "Linux":
> > +        output = session.get_command_output("cat /proc/cpuinfo|grep processor")
> > +        for line in output.split('\n'):
> > +            if 'processor' in line:
> > +                real_vcpus = real_vcpus + 1
> > +
> > +        output = session.get_command_output("cat /proc/meminfo")
> > +        for line in output.split('\n'):
> > +            if 'MemTotal' in line:
> > +                real_mem_kb = long(line.split()[1])
> > +        real_mem_mb = real_mem_kb / 1024
> > +
> > +    elif params.get("guest_os_type") == "Windows":
> > +        # Windows takes long time to display output for systeminfo
> > +        output = session.get_command_output("systeminfo", timeout =
> > 150, internal_timeout = 50)
> > +        for line in output.split('\n'):
> > +            if 'Processor' in line:
> > +                real_vcpus = int(line.split()[1])
> > +
> > +        for line in output.split('\n'):
> > +            if 'Total Physical Memory' in line:
> > +               real_mem_mb = long("".join("%s" % k for k in
> > line.split()[3].split(',')))
> > +
> > +    else:
> > +        raise error.TestFail("Till date this test is supported only
> > for Linux and Windows")
> > +
> > +    logging.info("The guest has cpus: %s" % real_vcpus)
> > +    logging.info("The guest has mem: %s MB" % real_mem_mb)
> > +    if exp_vcpus != real_vcpus or real_mem_mb < exp_mem_mb:
> > +        raise error.TestFail("Actual resources(cpu ='%s' memory ='%s' MB) "
> > +              "differ from Allocated resources(cpu = '%s' memory ='%s' MB"
> > +                         % (real_vcpus, real_mem_mb, exp_vcpus, exp_mem_mb))
> > +
> > +    session.close()
> >
> >
> >
> >
> > Sending the patch as an attachment too. Please review and provide your comments.
> > --
> > Sudhir Kumar
> >
> 
> 
> 


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux