[Libvirt-cim] [PATCH] [TEST] Update VSMS 12_referenced_config.py to use cim_() function
Deepti B Kalakeri
deeptik at linux.vnet.ibm.com
Tue Feb 3 09:59:21 UTC 2009
Also, can you include a small description at the beginning of the tc.
Deepti B Kalakeri wrote:
>
>
> Kaitlin Rupert wrote:
>> # HG changeset patch
>> # User Kaitlin Rupert <karupert at us.ibm.com>
>> # Date 1233605070 28800
>> # Node ID 4327fd7361d8107c8f7fc827d62162e9151ff6dd
>> # Parent fa1424f9b3f4ae005b4fcc34e18858035cc8f102
>> [TEST] Update VSMS 12_referenced_config.py to use cim_() function.
>>
>> Also re-wrote part of this test to fix the overall test flow.
>>
>> Signed-off-by: Kaitlin Rupert <karupert at us.ibm.com>
>>
>> diff -r fa1424f9b3f4 -r 4327fd7361d8
>> suites/libvirt-cim/cimtest/VirtualSystemManagementService/12_referenced_config.py
>>
>> ---
>> a/suites/libvirt-cim/cimtest/VirtualSystemManagementService/12_referenced_config.py
>> Mon Feb 02 12:02:30 2009 -0800
>> +++
>> b/suites/libvirt-cim/cimtest/VirtualSystemManagementService/12_referenced_config.py
>> Mon Feb 02 12:04:30 2009 -0800
>> @@ -21,19 +21,15 @@
>> #
>>
>> import sys
>> -import pywbem
>> -from XenKvmLib.common_util import create_using_definesystem, \
>> - call_request_state_change, \
>> - poll_for_state_change,
>> get_cs_instance
>> -from XenKvmLib import vsms
>> -from VirtLib import utils +from XenKvmLib.common_util import
>> get_cs_instance
>> from CimTest.Globals import logger
>> from XenKvmLib.const import do_main
>> from CimTest.ReturnCodes import FAIL, PASS
>> -from XenKvmLib.test_doms import destroy_and_undefine_domain -from
>> XenKvmLib.classes import get_typed_class
>> +from XenKvmLib.classes import get_typed_class, inst_to_mof
>> from XenKvmLib.assoc import AssociatorNames
>> from XenKvmLib.test_xml import dumpxml
>> +from XenKvmLib.vxml import get_class
>> +from XenKvmLib.rasd import get_default_rasds
>>
>> sup_types = ['Xen', 'XenFV', 'KVM']
>> test_dom = 'rstest_domain'
>> @@ -41,21 +37,13 @@
>>
>> mac = "aa:aa:aa:00:00:00"
>>
>> -REQUESTED_STATE = 2
>> -TIME = "00000000000000.000000:000"
>> -
>> -def setup_first_guest(ip, virt):
>> - status = create_using_definesystem(test_dom, ip, virt=virt)
>> - if status != PASS:
>> +def setup_first_guest(ip, virt, cxml):
>> + ret = cxml.cim_define(ip)
>> + if not ret:
>> logger.error("Unable to define %s using DefineSystem()" %
>> test_dom)
>> return FAIL
>>
>> - rc = call_request_state_change(test_dom, ip, REQUESTED_STATE,
>> TIME, virt)
>> - if rc != 0:
>> - logger.error("Unable to start %s" % test_dom)
>> - return FAIL
>> -
>> - status, cs = poll_for_state_change(ip, virt, test_dom,
>> REQUESTED_STATE)
>> + status = cxml.cim_start(ip)
>> if status != PASS:
>> logger.error("Unable to start %s" % test_dom)
>> return FAIL
>> @@ -70,7 +58,7 @@
>> cn = "ComputerSystem"
>> ccn = get_typed_class(virt, cn)
>> an = get_typed_class(virt, 'SettingsDefineState')
>> - vssd = AssociatorNames(ip, an, ccn, Name = test_dom,
>> CreationClassName = ccn)
>> + vssd = AssociatorNames(ip, an, ccn, Name=test_dom,
>> CreationClassName=ccn)
>>
> Before the call to AssociatorNames() we call get_cs_instance(test_dom,
> ip, virt) whose return values are never used.
> Either we can remove the call to get_cs_instance()
>
> OR
>
> check the EnabledState value for the guest to be set to running and
> also use cs.CreationClassName as parameter to be passed as part of the
> AssociatorNames.
>> if len(vssd) != 1:
>> logger.error("Returned %i vssd insts for '%s'", len(vssd),
>> test_dom)
>> @@ -78,26 +66,33 @@
>>
>> return vssd[0]
>>
>> -def get_vssd_rasd(virt):
>> - vssd, def_rasd = vsms.default_vssd_rasd_str(dom_name=test_dom2,
>> - net_type='network',
>> - net_mac=mac, virt=virt)
>> +def setup_second_guest(ip, virt, cxml2, ref):
>> + nrasd_cn = get_typed_class(virt,
>> "NetResourceAllocationSettingData")
>>
>> - rasd = []
>> - for inst in def_rasd:
>> - cn = get_typed_class(virt, "NetResourceAllocationSettingData")
>> - if cn in inst:
>> - rasd.append(inst)
>> + rasds = get_default_rasds(ip, virt)
>>
>> - params = {} + rasd_list = {}
>>
>> - if len(rasd) != 1:
>> - return params + for rasd in rasds:
>> + if rasd.classname == nrasd_cn:
>> + rasd['Address'] = mac
>> + rasd['NetworkType'] = "network" +
>> rasd_list[nrasd_cn] = inst_to_mof(rasd)
>> + else:
>> + rasd_list[rasd.classname] = None
>>
>> - params['vssd'] = vssd
>> - params['rasd'] = rasd
>> + if rasd_list[nrasd_cn] is None:
>> + logger.error("Unable to get template NetRASD")
>> + return FAIL
>>
>> - return params + cxml2.set_res_settings(rasd_list)
>> +
>> + ret = cxml2.cim_define(ip, ref_conf=ref)
>> + if not ret:
>> + logger.error("Unable to define %s using DefineSystem()" %
>> test_dom2)
>> + return FAIL
>> +
>> + return PASS
>> def get_dom_macs(server, dom, virt):
>> mac_list = []
>> @@ -118,8 +113,10 @@
>> def main():
>> options = main.options
>>
>> + cxml = get_class(options.virt)(test_dom)
>> + cxml2 = get_class(options.virt)(test_dom2)
>> try:
>> - status = setup_first_guest(options.ip, options.virt)
>> + status = setup_first_guest(options.ip, options.virt, cxml)
>> if status != PASS:
>> raise Exception("Unable to start %s" % test_dom)
>>
>> @@ -127,14 +124,7 @@
>> if ref is None:
>> raise Exception("Unable to get %s reference" % test_dom)
>>
>> - define_params = get_vssd_rasd(options.virt)
>> - if len(define_params) != 2:
>> - raise Exception("Unable to build VSSD and RASD instances
>> for %s" % \
>> - test_dom2)
>> -
>> - status = create_using_definesystem(test_dom2, options.ip,
>> - params=define_params,
>> ref_config=ref,
>> - virt=options.virt)
>> + status = setup_second_guest(options.ip, options.virt, cxml2,
>> ref)
>> if status != PASS:
>> raise Exception("Unable to define %s" % test_dom2)
>>
>> @@ -159,8 +149,9 @@
>> logger.error(details)
>> status = FAIL
>>
>> - destroy_and_undefine_domain(test_dom, options.ip, options.virt)
>> - destroy_and_undefine_domain(test_dom2, options.ip, options.virt)
>> + cxml.cim_destroy(options.ip)
>>
> we should call cxml.cim_destroy() when setup_first_guest() is
> successful only.
>> + cxml.undefine(options.ip)
>> + cxml2.undefine(options.ip)
>>
>>
> Similarly call to cxml2.undefine is unnecessary when
> setup_second_guest() fails.
>
>
>> return status
>>
>> _______________________________________________
>> Libvirt-cim mailing list
>> Libvirt-cim at redhat.com
>> https://www.redhat.com/mailman/listinfo/libvirt-cim
>>
>
--
Thanks and Regards,
Deepti B. Kalakeri
IBM Linux Technology Center
deeptik at linux.vnet.ibm.com
More information about the Libvirt-cim
mailing list