
# HG changeset patch # User Deepti B. Kalakeri <deeptik@linux.vnet.ibm.com> # Date 1217332058 25200 # Node ID 00e3d0fff2b8379a1882c78ceffeecb68c61c5e7 # Parent 8c8ec47bc8492eacc1f5feff6ed6fd871451a9d0 1) Removed the invalid bug nos. 2) Removed check_attributes() and used check_reqstate_value() library function instead. 3) Adding create_netpool_conf(), destroy_netpool() since the VSMS now requires networkpool. 4) Used destroy_and_undefine_domain() to undefine and destroy the VS. 5) Used poll_for_state_change() to verify the poll and verify the EnabledState value. The changes are verified with KVM, Xen, XenFV with current sources. Signed-off-by: Deepti B. Kalakeri <deeptik@linux.vnet.ibm.com> diff -r 8c8ec47bc849 -r 00e3d0fff2b8 suites/libvirt-cim/cimtest/ComputerSystem/32_start_reboot.py --- a/suites/libvirt-cim/cimtest/ComputerSystem/32_start_reboot.py Tue Jul 29 04:44:18 2008 -0700 +++ b/suites/libvirt-cim/cimtest/ComputerSystem/32_start_reboot.py Tue Jul 29 04:47:38 2008 -0700 @@ -4,6 +4,7 @@ # # Authors: # Anoop V Chakkalakkal<anoop.vijayan@in.ibm.com> +# Deepti B. Kalakeri<deeptik@linux.vnet.ibm.com> # # # This library is free software; you can redistribute it and/or @@ -25,7 +26,7 @@ # This test case is used to verify the Virtual System State Transition # information is captured in the RequestedState Property of the VS. # The test is considered to be successful if RequestedState Property -# has a value of 10 when the VS is moved from active to reboot state +# has a value of 10 when the VS is moved from active to reboot state. # # List of Valid state values (Refer to VSP spec doc Table 2 for more) # --------------------------------- @@ -41,72 +42,64 @@ from VirtLib import utils from CimTest.Globals import do_main, logger from CimTest.ReturnCodes import PASS, FAIL, XFAIL_RC -from XenKvmLib.test_doms import undefine_test_domain -from XenKvmLib.common_util import get_cs_instance +from XenKvmLib.test_doms import destroy_and_undefine_domain from XenKvmLib.common_util import create_using_definesystem from XenKvmLib.common_util import call_request_state_change +from XenKvmLib.common_util import poll_for_state_change +from XenKvmLib.common_util import check_reqstate_value +from XenKvmLib.common_util import create_netpool_conf, destroy_netpool sup_types = ['Xen', 'XenFV'] ACTIVE_STATE = 2 REBOOT_STATE = 10 -bug_req_state = "00002" -default_dom = 'test_domain' +default_dom = 'cs_test_domain' TIME = "00000000000000.000000:000" - -def check_attributes(domain_name, ip, en_state, rq_state, virt): - rc, cs = get_cs_instance(domain_name, ip, virt) - if rc != 0: - return rc - if cs.RequestedState != rq_state: - logger.error("RequestedState should be %d not %d", - rq_state, cs.RequestedState) - return XFAIL_RC(bug_req_state) - - if cs.EnabledState != en_state: - logger.error("EnabledState should be %d not %d", - en_state, cs.EnabledState) - return FAIL - - return PASS @do_main(sup_types) def main(): options = main.options status = FAIL + server = options.ip + virt = options.virt + + status, test_network = create_netpool_conf(server, virt, False) + if status != PASS: + return FAIL tc_scen = [('Start', [ACTIVE_STATE, ACTIVE_STATE]), \ ('Reboot', [ACTIVE_STATE, REBOOT_STATE])] try: # define the vs - status = create_using_definesystem(default_dom, options.ip, - virt=options.virt) + status = create_using_definesystem(default_dom, server, + virt=virt) if status != PASS: - logger.error("Unable to define domain %s using DefineSystem()", \ - default_dom) + logger.error("Unable to define domain '%s' using DefineSystem()", + default_dom) return status # start, then reboot for action, state in tc_scen: en_state = state[0] rq_state = state[1] - status = call_request_state_change(default_dom, options.ip, + status = call_request_state_change(default_dom, server, rq_state, TIME, - virt=options.virt) + virt=virt) if status != PASS: - logger.error("Unable to %s dom %s using \ -RequestedStateChange()", action, default_dom) + logger.error("Unable to '%s' dom '%s' using RequestedStateChange()", + action, default_dom) break - # FIX ME - # sleep() + status = poll_for_state_change(server, virt, default_dom, en_state, + timeout=10) + if status != PASS: + break - status = check_attributes(default_dom, options.ip, - en_state, rq_state, options.virt) + status = check_reqstate_value(default_dom, server, rq_state, virt) if status != PASS: - logger.error("Attributes for dom %s not set as expected.", + logger.error("RequestedState for dom '%s' is not set as expected.", default_dom) break @@ -114,9 +107,8 @@ logger.error("Exception: %s", detail) status = FAIL - # undefine the vs - undefine_test_domain(default_dom, options.ip, options.virt) - + destroy_netpool(server, virt, test_network) + destroy_and_undefine_domain(default_dom, server, virt) return status if __name__ == "__main__":