
diff -r bbd83da2f0f6 -r 31fca7629bd7 suites/libvirt-cim/lib/XenKvmLib/vsms.py --- a/suites/libvirt-cim/lib/XenKvmLib/vsms.py Wed Oct 08 18:18:48 2008 -0700 +++ b/suites/libvirt-cim/lib/XenKvmLib/vsms.py Wed Oct 15 19:13:10 2008 -0700 @@ -108,7 +108,6 @@ self.Kernel = const.Xen_kernel_path self.Ramdisk = const.Xen_init_path - class Xen_VirtualSystemSettingData(CIM_VirtualSystemSettingData): pass
@@ -118,9 +117,10 @@ class LXC_VirtualSystemSettingData(CIM_VirtualSystemSettingData): pass
-@eval_cls('VirtualSystemSettingData') -def get_vssd_class(virt): - pass +def get_vssd_mof(virt, dom_name): + vssd_cn = eval(get_typed_class(virt, "VirtualSystemSettingData")) + vssd = vssd_cn(dom_name, virt)
I did not get the difference between vssd_cn and vssd assignments, both of them evaluate to classobj XenKvmLib.vsms.Xen_VirtualSystemSettingData.
+ return vssd.mof()
If you print vssd_cn, you'll get: XenKvmLib.vsms.KVM_VirtualSystemSettingData If you print vssd, you'll get mof syntax. ================================ To see why this change is needed, you can apply the following patch. Run it once with: return vssd #return vssd.mof() Then run it again with #return vssd return vssd.mof() In the first case, the VSSD object is: <XenKvmLib.vsms.KVM_VirtualSystemSettingData instance at 0x217a320> In the second, it's a properly formatted MOF, which is what the CIMOM is expecting. # HG changeset patch # User Kaitlin Rupert <karupert@us.ibm.com> # Date 1224271624 25200 # Node ID 93edf76620526b54e527de006ad3c2d587c725a3 # Parent 16ed883b2d333bfe73059c319b011e5fe6153ae8 Signed-off-by: Kaitlin Rupert <karupert@us.ibm.com> diff -r 16ed883b2d33 -r 93edf7662052 lib/CimTest/CimExt.py --- a/lib/CimTest/CimExt.py Wed Oct 15 19:13:10 2008 -0700 +++ b/lib/CimTest/CimExt.py Fri Oct 17 12:27:04 2008 -0700 @@ -29,6 +29,8 @@ return _Method(self.__invoker, "%s.%s" % (self.__name, name)) def __call__(self, **args): + print "\n" + print args return self.__invoker(self.__name, args) diff -r 16ed883b2d33 -r 93edf7662052 suites/libvirt-cim/cimtest/VirtualSystemManagementService/14_define_sys_disk.py --- a/suites/libvirt-cim/cimtest/VirtualSystemManagementService/14_define_sys_disk.py Wed Oct 15 19:13:10 2008 -0700 +++ b/suites/libvirt-cim/cimtest/VirtualSystemManagementService/14_define_sys_disk.py Fri Oct 17 12:27:04 2008 -0700 @@ -92,6 +92,7 @@ destroy_and_undefine_domain(test_dom, options.ip, options.virt) + return FAIL return status if __name__ == "__main__": diff -r 16ed883b2d33 -r 93edf7662052 suites/libvirt-cim/lib/XenKvmLib/vsms.py --- a/suites/libvirt-cim/lib/XenKvmLib/vsms.py Wed Oct 15 19:13:10 2008 -0700 +++ b/suites/libvirt-cim/lib/XenKvmLib/vsms.py Fri Oct 17 12:27:04 2008 -0700 @@ -119,8 +119,14 @@ def get_vssd_mof(virt, dom_name): vssd_cn = eval(get_typed_class(virt, "VirtualSystemSettingData")) + print vssd_cn + print "\n" vssd = vssd_cn(dom_name, virt) - return vssd.mof() + print vssd + print "\n" + print vssd.mof() + return vssd + #return vssd.mof() # classes to define RASD parameters class CIM_DiskResourceAllocationSettingData(CIMClassMOF): -- Kaitlin Rupert IBM Linux Technology Center kaitlin@linux.vnet.ibm.com