def balloon_memory(session, device_path): """ Doing memory balloon in a loop and check memory status during balloon. :param session: VM session. :param device_path: balloon polling path. """ repeat_times = int(params.get("repeat_times", 5)) logging.info("repeat times: %d" % repeat_times) balloon_test = BallooningTestWin(test, params, env) while repeat_times: for tag in params.objects('test_tags'): error_context.context("Running %s test" % tag, logging.info) params_tag = params.object_params(tag) balloon_type = params_tag['balloon_type'] min_sz, max_sz = balloon_test.get_memory_boundary(balloon_type) expect_mem = int(random.uniform(min_sz, max_sz)) quit_after_test = balloon_test.run_ballooning_test(expect_mem, tag) get_polling_output = vm.monitor.qom_get(device_path, get_balloon_property) memory_check(vm, get_polling_output, 'stat-free-memory') if quit_after_test: return balloon_test.reset_memory() repeat_times -= 1
def balloon_memory(vm, device_path, mem_check): """ Doing memory balloon in a loop and check memory status during balloon. :param vm: VM object. :param device_path: balloon polling path. :param mem_check: need to do memory check if param mem_check is 'yes' """ repeat_times = int(params.get("repeat_times", 5)) logging.info("repeat times: %d" % repeat_times) if params['os_type'] == 'windows': balloon_test = BallooningTestWin(test, params, env) else: balloon_test = BallooningTestLinux(test, params, env) min_sz, max_sz = balloon_test.get_memory_boundary() while repeat_times: for tag in params.objects('test_tags'): error_context.context("Running %s test" % tag, logging.info) params_tag = params.object_params(tag) balloon_type = params_tag['balloon_type'] if balloon_type == 'evict': expect_mem = int( random.uniform(min_sz, balloon_test.get_ballooned_memory())) else: expect_mem = int( random.uniform(balloon_test.get_ballooned_memory(), max_sz)) quit_after_test = balloon_test.run_ballooning_test( expect_mem, tag) time.sleep(20) get_polling_output = vm.monitor.qom_get( device_path, get_balloon_property) time.sleep(20) if mem_check == "yes": memory_check(vm, get_polling_output, 'stat-free-memory') if quit_after_test: return repeat_times -= 1
def balloon_memory(vm, device_path, mem_check): """ Doing memory balloon in a loop and check memory status during balloon. :param vm: VM object. :param device_path: balloon polling path. :param mem_check: need to do memory check if param mem_check is 'yes' """ repeat_times = int(params.get("repeat_times", 5)) logging.info("repeat times: %d" % repeat_times) if params['os_type'] == 'windows': balloon_test = BallooningTestWin(test, params, env) else: balloon_test = BallooningTestLinux(test, params, env) min_sz, max_sz = balloon_test.get_memory_boundary() while repeat_times: for tag in params.objects('test_tags'): error_context.context("Running %s test" % tag, logging.info) params_tag = params.object_params(tag) balloon_type = params_tag['balloon_type'] if balloon_type == 'evict': expect_mem = int(random.uniform(min_sz, balloon_test.get_ballooned_memory())) else: expect_mem = int(random.uniform( balloon_test.get_ballooned_memory(), max_sz)) quit_after_test = balloon_test.run_ballooning_test(expect_mem, tag) time.sleep(20) get_polling_output = vm.monitor.qom_get(device_path, get_balloon_property) time.sleep(20) if mem_check == "yes": memory_check(vm, get_polling_output, 'stat-free-memory') if quit_after_test: return repeat_times -= 1