On Thu, 2010-04-15 at 20:40 +0530, pradeep wrote:
> Hi Lucas
>
> Please ignore my earlier patch
> Find the correct patch with the suggested changes.
Hi Pradeep, I was reading the test once again while trying it myself,
some other ideas came to me. I spent some time hacking the test and sent
an updated patch with changes. Please let me know what you think, if you
are OK with them I'll commit it.
>
> --SP
>
>
> plain text document attachment (patch)
> diff -purN autotest/client/tests/kvm/tests/balloon_check.py
> autotest-new/client/tests/kvm/tests/balloon_check.py
> --- autotest/client/tests/kvm/tests/balloon_check.py 1969-12-31
> 19:00:00.000000000 -0500
> +++ autotest-new/client/tests/kvm/tests/balloon_check.py 2010-04-15
> 18:50:09.000000000 -0400
> @@ -0,0 +1,51 @@
> +import re, string, logging, random, time
> +from autotest_lib.client.common_lib import error
> +import kvm_test_utils, kvm_utils
> +
> +def run_balloon_check(test, params, env):
> + """
> + Check Memory ballooning:
> + 1) Boot a guest
> + 2) Change the memory between 60% to 95% of memory of guest using
> ballooning
> + 3) check memory info
> +
> + @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"))
> + session = kvm_test_utils.wait_for_login(vm)
> + fail = 0
> +
> + # Check memory size
> + logging.info("Memory size check")
> + expected_mem = int(params.get("mem"))
> + actual_mem = vm.get_memory_size()
> + if actual_mem != expected_mem:
> + logging.error("Memory size mismatch:")
> + logging.error(" Assigned to VM: %s" % expected_mem)
> + logging.error(" Reported by OS: %s" % actual_mem)
> +
> +
> + #Check if info balloon works or not.
> + status, output = vm.send_monitor_cmd("info balloon")
> + if status != 0:
> + logging.error("qemu monitor command failed: info balloon")
> + fail += 1
> +
> + #Reduce memory to random size between 60% to 95% of actual memory
> + percent = random.uniform(0.6, 0.95)
> + new_mem = int(percent*actual_mem)
> + vm.send_monitor_cmd("balloon %s" % new_mem)
> + time.sleep(20)
> + status, output = vm.send_monitor_cmd("info balloon")
> + ballooned_mem = int(re.findall("\d+",output)[0])
> + if ballooned_mem != new_mem:
> + logging.error("memory ballooning failed while changing memory from
> %s to %s" %actual_mem %new_mem)
> + fail += 1
> +
> + #Checking for test result
> + if fail != 0:
> + raise error.TestFail("Memory ballooning test failed ")
> + session.close()
> diff -purN autotest/client/tests/kvm/tests_base.cfg.sample
> autotest-new/client/tests/kvm/tests_base.cfg.sample
> --- autotest/client/tests/kvm/tests_base.cfg.sample 2010-04-15
> 09:14:10.000000000 -0400
> +++ autotest-new/client/tests/kvm/tests_base.cfg.sample 2010-04-15
> 18:50:35.000000000 -0400
> @@ -171,6 +171,10 @@ variants:
> drift_threshold = 10
> drift_threshold_single = 3
>
> + - balloon_check: install setup unattended_install
> + type = balloon_check
> + extra_params += "-balloon virtio"
> +
> - stress_boot: install setup unattended_install
> type = stress_boot
> max_vms = 5
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html