[PATCH] [TEST] Update vsms.py and vxml.py to support emu_type for Xen and KVM, also pass for LXC

# HG changeset patch # User Guolian Yun <yunguol@cn.ibm.com> # Date 1231754345 28800 # Node ID 3514eb48a62cab3ed58a2aee14de5f781f779c59 # Parent 5cd63239ee18370a87d82b8d72856fa0f297b273 [TEST] Update vsms.py and vxml.py to support emu_type for Xen and KVM, also pass for LXC Signed-off-by: Guolian Yun <yunguol@cn.ibm.com> diff -r 5cd63239ee18 -r 3514eb48a62c suites/libvirt-cim/lib/XenKvmLib/vsms.py --- a/suites/libvirt-cim/lib/XenKvmLib/vsms.py Thu Jan 08 15:02:43 2009 -0800 +++ b/suites/libvirt-cim/lib/XenKvmLib/vsms.py Mon Jan 12 01:59:05 2009 -0800 @@ -249,13 +249,15 @@ if virt == 'KVM': disk_dev = 'hda' disk_source = const.KVM_disk_path + d = class_dasd(disk_dev, disk_source, dom_name, emu_type) elif virt == 'XenFV': disk_dev = 'hda' disk_source = const.XenFV_disk_path + d = class_dasd(disk_dev, disk_source, dom_name, emu_type) elif virt == 'LXC': disk_dev = const.LXC_default_mp disk_source = const.LXC_default_source - d = class_dasd(disk_dev, disk_source, dom_name, emu_type) + d = class_dasd(disk_dev, disk_source, dom_name) class_masd = get_masd_class(virt) m = class_masd( diff -r 5cd63239ee18 -r 3514eb48a62c suites/libvirt-cim/lib/XenKvmLib/vxml.py --- a/suites/libvirt-cim/lib/XenKvmLib/vxml.py Thu Jan 08 15:02:43 2009 -0800 +++ b/suites/libvirt-cim/lib/XenKvmLib/vxml.py Mon Jan 12 01:59:05 2009 -0800 @@ -471,16 +471,18 @@ self.virt = virt self.domain_name = dom_name self.vssd = vsms.get_vssd_mof(virt, dom_name) - self.dasd = vsms.get_dasd_class(virt)(disk_dev, disk_source, - dom_name, emu_type) self.nasd = vsms.get_nasd_class(virt)(type=net_type, mac=net_mac, name=dom_name, virt_net=net_name) if virt == 'LXC': self.pasd = vsms.get_pasd_class(virt)(name=dom_name) + self.dasd = vsms.get_dasd_class(virt)(disk_dev, disk_source, + dom_name) else: self.pasd = vsms.get_pasd_class(virt)(vcpu=vcpus, name=dom_name) + self.dasd = vsms.get_dasd_class(virt)(disk_dev, disk_source, + dom_name, emu_type) self.masd = vsms.get_masd_class(virt)(megabytes=mem, mallocunits=mem_allocunits, name=dom_name) @@ -631,7 +633,8 @@ disk_file_path=const.Xen_disk_path, disk=const.Xen_default_disk_dev, ntype=const.default_net_type, - net_name=const.default_network_name): + net_name=const.default_network_name, + emu_type=None): if not (os.path.exists(const.Xen_kernel_path) \ and os.path.exists(const.Xen_init_path)): logger.error('ERROR: Either the kernel image ' @@ -642,7 +645,8 @@ self._devices(disk_file_path, disk, ntype, mac, net_name) VirtCIM.__init__(self, 'Xen', test_dom, disk, disk_file_path, - ntype, net_name, mac, vcpus, mem, mem_allocunits) + ntype, net_name, mac, vcpus, mem, mem_allocunits, + emu_type) def _os(self, os_kernel, os_initrd): os = self.get_node('/domain/os') @@ -743,13 +747,15 @@ disk_file_path=const.XenFV_disk_path, disk=const.XenFV_default_disk_dev, ntype=const.default_net_type, - net_name=const.default_network_name): + net_name=const.default_network_name, + emu_type=None): if not os.path.exists(disk_file_path): logger.error('Error: Disk image does not exist') sys.exit(1) VirtXML.__init__(self, 'xenfv', test_dom, set_uuid(), mem, vcpus) VirtCIM.__init__(self, 'XenFV', test_dom, disk, disk_file_path, - ntype, net_name, mac, vcpus, mem, mem_allocunits) + ntype, net_name, mac, vcpus, mem, mem_allocunits, + emu_type) self._features() self._os(const.XenFV_default_loader) self._devices(const.XenFV_default_emulator, @@ -800,7 +806,7 @@ VirtXML.__init__(self, 'lxc', test_dom, set_uuid(), mem, vcpus) VirtCIM.__init__(self, 'LXC', test_dom, const.LXC_default_mp, const.LXC_default_source, ntype, net_name, mac, vcpus, - mem, const.default_mallocunits) + mem, const.default_mallocunits, None) self._os(const.LXC_init_path) self._devices(mac, ntype, net_name, const.LXC_default_tty) self.create_lxc_file(CIM_IP, const.LXC_init_path)

I didn't see Deepti's review and also forgot to test on Xen. So I've pushed this in. Daisy - can you fix these items on the current tree? Thanks!
We will not have any value for disk assigned for Xen since none of the if conditional loops take care of this. We will get the following error the end of the function when we try to return d.mof in case Xen virt types.
*UnboundLocalError: local variable 'd' referenced before assignment
*You might want to do something like this to avoid passing emu_type for LXC: if virt == 'LXC': d = class_dasd(disk_dev, disk_source, dom_name) else: d = class_dasd(disk_dev, disk_source, dom_name, emu_type)
-- Kaitlin Rupert IBM Linux Technology Center kaitlin@linux.vnet.ibm.com

libvirt-cim-bounces@redhat.com wrote on 2009-01-13 06:10:06:
I didn't see Deepti's review and also forgot to test on Xen. So I've pushed this in.
Daisy - can you fix these items on the current tree? Thanks!
Sure. Patch is on the way. Thanks!
We will not have any value for disk assigned for Xen since none of the
if conditional loops take care of this. We will get the following error the end of the function when we try to
return d.mof in case Xen virt types.
*UnboundLocalError: local variable 'd' referenced before assignment
*You might want to do something like this to avoid passing emu_type for LXC: if virt == 'LXC': d = class_dasd(disk_dev, disk_source, dom_name) else: d = class_dasd(disk_dev, disk_source, dom_name, emu_type)
-- Kaitlin Rupert IBM Linux Technology Center kaitlin@linux.vnet.ibm.com
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim
participants (4)
-
Deepti B Kalakeri
-
Guo Lian Yun
-
Kaitlin Rupert
-
yunguol@cn.ibm.com