[Libvirt-cim] [PATCH 3 of 3] [TEST] #2 Add VirtualSystemManagementService - 14_define_sys_disk.py

Deepti B Kalakeri deeptik at linux.vnet.ibm.com
Fri Oct 17 12:07:56 UTC 2008



Kaitlin Rupert wrote:
> # HG changeset patch
> # User Kaitlin Rupert <karupert at us.ibm.com>
> # Date 1224123190 25200
> # Node ID 16ed883b2d333bfe73059c319b011e5fe6153ae8
> # Parent  31fca7629bd7f394c3a900c9f20c5573bcedc1f7
> [TEST] #2 Add VirtualSystemManagementService - 14_define_sys_disk.py
>
> This test defines a guest with a very large disk image.  This test can be updated in the future to include other disk specific DefineSystem() tests.
>
> Updates:
>  -Remove call to  default_vssd_rasd_str(); replace with call to get_vssd_mof()
>
> Signed-off-by: Kaitlin Rupert <karupert at us.ibm.com>
>
> diff -r 31fca7629bd7 -r 16ed883b2d33 suites/libvirt-cim/cimtest/VirtualSystemManagementService/14_define_sys_disk.py
> --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
> +++ b/suites/libvirt-cim/cimtest/VirtualSystemManagementService/14_define_sys_disk.py	Wed Oct 15 19:13:10 2008 -0700
> @@ -0,0 +1,99 @@
> +#!/usr/bin/python
> +#
> +# Copyright 2008 IBM Corp.
> +#
> +# Authors:
> +#    Kaitlin Rupert <karupert at us.ibm.com>
> +#
> +# This library is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU General Public
> +# License as published by the Free Software Foundation; either
> +# version 2.1 of the License, or (at your option) any later version.
> +#
> +# This library is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> +# General Public License for more details.
> +#
> +# 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
> +#
> +
> +import sys
> +import os 
> +from VirtLib.utils import run_remote
> +from CimTest.Globals import logger
> +from CimTest.ReturnCodes import FAIL, PASS
> +from XenKvmLib.const import do_main, _image_dir
> +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
> +
> +sup_types = ['Xen', 'XenFV', 'KVM', 'LXC']
> +test_dom = 'rstest_disk_domain'
> +
> +def make_long_disk_path(ip):
> +    path = os.path.join(_image_dir, 'cimtest_large_image')
> +
> +    cmd = "dd if=/dev/zero of=%s bs=1M count=1 seek=8192" % path
> +
> +    rc, out = run_remote(ip, cmd)
> +    if rc != 0:
> +        logger.error("Unable to create large disk image")
> +        logger.error(out)
> +        return None
> +
> +    return path
> +
> +def get_vssd_rasd(ip, virt, addr):
> +    vssd = get_vssd_mof(virt, test_dom)
> +
> +    rasds = get_default_rasds(ip, virt)
> +
> +    for i in range(0, len(rasds)):
>   
I think we had discussed this to be "for i in range(len(rasds))" :)
For now we can leave this as it is.
> +        if rasds[i]['PoolID'].find('DiskPool') >= 0:
>   
This can be "if 'DiskPool' in rasds[i]['PoolID']" as an alternative.
But the above what you have also serves our purpose.
+1 for me for the changes.
> +            rasds[i]['Address'] = addr
> +        rasds[i] = inst_to_mof(rasds[i])
> +
> +    params = { 'vssd' : vssd,
> +               'rasd' : rasds
> +             }
> +
> +    return params 
> +
> + at do_main(sup_types)
> +def main():
> +    options = main.options
> +
> +    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)
> +        if len(define_params) != 2:
> +            raise Exception("Unable to get VSSD and RASDs for %s" %  test_dom)
> +
> +        status = create_using_definesystem(test_dom, options.ip, 
> +                                           params=define_params, ref_config="",
> +                                           virt=options.virt)
> +        if status != PASS:
> +            raise Exception("Unable to define %s" % test_dom)
> +
> +    except Exception, details:
> +        logger.error(details)
> +        status = FAIL
> +
> +    if os.path.exists(addr):
> +        os.remove(addr)
> +
> +    destroy_and_undefine_domain(test_dom, options.ip, options.virt)
> +
> +    return status 
> +
> +if __name__ == "__main__":
> +    sys.exit(main())
> +    
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim
>   




More information about the Libvirt-cim mailing list