+
+def define_system(host, virt, name, vssd, rasds):
+ vsms_class = eval("vsms." + \
+ get_typed_class(virt,
+ "VirtualSystemManagementService"))
+
+ service = vsms_class(host)
+
+ rc, results = service.DefineSystem(SystemSettings=vssd,
+ ResourceSettings=rasds,
+ ReferenceConfiguration=' ')
+
+ system = results["ResultingSystem"]
What if the DefineSystem call throws an exception or if results is None?
+
+ return rc, system
+
+def get_instance_by_ref(host, ref):
+ conn = pywbem.WBEMConnection('http://%s' % host,
+ (Globals.CIM_USER, Globals.CIM_PASS),
+ ref.namespace)
+ return conn.GetInstance(ref)
+
+
+@do_main(sup_types)
+def main():
+ options = main.options
+
+ systemref = define_test_system(options)
+
+ if not isinstance(systemref, pywbem.CIMInstanceName):
+ logger.error("ResultingSystem is not a Reference!")
+ return FAIL
+
+ if systemref.namespace is None:
+ logger.error("Returned reference had no namespace!")
+ return FAIL
+
+ logger.info("GetInstance(%s)" % systemref)
+ system = get_instance_by_ref(options.ip, systemref)
+
+ if system["Name"] == default_dom:
+ logger.info("Validated resulting system instance")
+ return PASS
+ else:
+ logger.error("Result system was: %s instead of %s" %
(system["Name"],
+ default_dom))
+ return FAIL
You'll need to undefine the guest before the test returns in each if
condition.
--
Kaitlin Rupert
IBM Linux Technology Center
kaitlin(a)linux.vnet.ibm.com