
Kaitlin Rupert wrote:
# HG changeset patch # User Kaitlin Rupert <karupert@us.ibm.com> # Date 1233685686 28800 # Node ID b1a757aa7efce7839998c49412f45d8c7f1596fa # Parent b5e7e1cf87f88b2baa21645b5d2bed2286ffb0ca [TEST] #2 Update VSMS 14_define_sys_disk.py to use cim_define()
Updates: -Added comment to describe test -Added flag to indicate whether guest should be undefined
Signed-off-by: Kaitlin Rupert <karupert@us.ibm.com>
diff -r b5e7e1cf87f8 -r b1a757aa7efc suites/libvirt-cim/cimtest/VirtualSystemManagementService/14_define_sys_disk.py --- a/suites/libvirt-cim/cimtest/VirtualSystemManagementService/14_define_sys_disk.py Tue Feb 03 09:37:05 2009 -0800 +++ b/suites/libvirt-cim/cimtest/VirtualSystemManagementService/14_define_sys_disk.py Tue Feb 03 10:28:06 2009 -0800 @@ -18,6 +18,14 @@ # You should have received a copy of the GNU General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Purpose: +# Verify providers support disk images with long paths / names +# +# Steps: +# 1) Create a disk image with a long path +# 2) Build RASD parameters, making sure to specify disk image created in step 1 +# 3) Verify guest is defined properly #
Thanks for the description. The point 3 is missing from the tc. We need to verify for the correctness of the defined guest, we need to verify the disk path that was supplied and atleast the InstanceID using the DiskRASD before undefining the guest. Sorry for missing this in the earlier review.
import sys @@ -25,14 +33,11 @@ from VirtLib.utils import run_remote from CimTest.Globals import logger from CimTest.ReturnCodes import FAIL, PASS -from XenKvmLib.common_util import create_using_definesystem -from XenKvmLib.test_doms import destroy_and_undefine_domain from XenKvmLib.classes import get_typed_class, inst_to_mof from XenKvmLib.rasd import get_default_rasds -from XenKvmLib.vsms import get_vssd_mof -from XenKvmLib.const import get_provider_version from XenKvmLib.const import do_main, _image_dir, f9_changeset, \ - KVM_default_disk_dev + KVM_default_disk_dev, get_provider_version +from XenKvmLib.vxml import get_class
sup_types = ['Xen', 'XenFV', 'KVM', 'LXC'] test_dom = 'rstest_disk_domain' @@ -50,28 +55,24 @@
return path
-def get_vssd_rasd(ip, virt, addr, disk_type): - vssd = get_vssd_mof(virt, test_dom) +def get_rasd_list(ip, virt, addr, disk_type): + drasd_cn = get_typed_class(virt, "DiskResourceAllocationSettingData")
rasds = get_default_rasds(ip, virt)
- rasd_list = [] + rasd_list = {}
for rasd in rasds: - if 'DiskPool' in rasd['PoolID']: + if rasd.classname == drasd_cn: if disk_type != "" and rasd['Caption'] != disk_type: continue rasd['Address'] = addr curr_cim_rev, changeset = get_provider_version(virt, ip) if changeset == f9_changeset and virt == 'KVM': rasd['VirtualDevice'] = KVM_default_disk_dev - rasd_list.append(inst_to_mof(rasd)) + rasd_list[rasd.classname] = inst_to_mof(rasd)
- params = { 'vssd' : vssd, - 'rasd' : rasd_list - } - - return params + return rasd_list
@do_main(sup_types) def main(): @@ -84,21 +85,27 @@ else: disk_cap = ""
+ cxml = get_class(options.virt)(test_dom) + + guest_defined = False + try: addr = make_long_disk_path(options.ip) if addr is None: raise Exception("Unable to create large disk image")
- define_params = get_vssd_rasd(options.ip, options.virt, addr, disk_cap) - if len(define_params) != 2: - raise Exception("Unable to get VSSD and RASDs for %s" % test_dom) + rasd_list = get_rasd_list(options.ip, options.virt, addr, disk_cap) + if len(rasd_list) < 1: + raise Exception("Unable to get template RASDs for %s" % test_dom)
- status = create_using_definesystem(test_dom, options.ip, - params=define_params, ref_config="", - virt=options.virt) - if status != PASS: + cxml.set_res_settings(rasd_list) + ret = cxml.cim_define(options.ip) + if not ret: raise Exception("Unable to define %s" % test_dom)
+ status = PASS + guest_defined = True + except Exception, details: logger.error(details) status = FAIL @@ -106,7 +113,8 @@ if os.path.exists(addr): os.remove(addr)
- destroy_and_undefine_domain(test_dom, options.ip, options.virt) + if guest_defined == True: + cxml.undefine(options.ip)
return status
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim
-- Thanks and Regards, Deepti B. Kalakeri IBM Linux Technology Center deeptik@linux.vnet.ibm.com