Re: [libvirt] [libvirt-test-API][PATCH 2/2] Add clean part for install_windows_cdrom
On 07/25/2011 10:30 AM, Wayne Sun wrote: * Add cleanup function install_windows_cdrom_clean --- repos/domain/install_windows_cdrom.py | 88 +++- 1 files changed, 74 insertions(+), 14 deletions(-) diff --git a/repos/domain/install_windows_cdrom.py b/repos/domain/install_windows_cdrom.py index f1441df..2ea0ee7 100644 --- a/repos/domain/install_windows_cdrom.py +++ b/repos/domain/install_windows_cdrom.py @@ -51,6 +51,15 @@ __version__ = 0.1.0 __credits__ = Copyright (C) 2010 Red Hat, Inc. __all__ = ['install_windows_cdrom', 'usage'] +VIRSH_QUIET_LIST = virsh --quiet list --all|awk '{print $2}'|grep \^%s$\ +VM_STAT = virsh --quiet list --all| grep \\\b%s\\b\|grep off +VM_DESTROY = virsh destroy %s +VM_UNDEFINE = virsh undefine %s + +FLOOPY_IMG = /tmp/floppy.img +ISO_MOUNT_POINT = /mnt/libvirt_windows + + def usage(): print '''usage: mandatory arguments:guesttype guestname @@ -132,19 +141,19 @@ def prepare_iso(iso_file, mount_point): return 0, iso_local_path def prepare_floppy_image(guestname, guestos, guestarch, - windows_unattended_path, cdkey, floppy_img): + windows_unattended_path, cdkey, FLOOPY_IMG): Making corresponding floppy images for the given guestname -if os.path.exists(floppy_img): -os.remove(floppy_img) +if os.path.exists(FLOOPY_IMG): +os.remove(FLOOPY_IMG) -create_cmd = 'dd if=/dev/zero of=%s bs=1440k count=1' % floppy_img +create_cmd = 'dd if=/dev/zero of=%s bs=1440k count=1' % FLOOPY_IMG (status, text) = commands.getstatusoutput(create_cmd) if status: logger.error(failed to create floppy image) return 1 -format_cmd = 'mkfs.msdos -s 1 %s' % floppy_img +format_cmd = 'mkfs.msdos -s 1 %s' % FLOOPY_IMG (status, text) = commands.getstatusoutput(format_cmd) if status: logger.error(failed to format floppy image) @@ -159,7 +168,7 @@ def prepare_floppy_image(guestname, guestos, guestarch, os.makedirs(floppy_mount) try: -mount_cmd = 'mount -o loop %s %s' % (floppy_img, floppy_mount) +mount_cmd = 'mount -o loop %s %s' % (FLOOPY_IMG, floppy_mount) (status, text) = commands.getstatusoutput(mount_cmd) if status: logger.error( @@ -202,7 +211,7 @@ def prepare_floppy_image(guestname, guestos, guestarch, cleanup(floppy_mount) -os.chmod(floppy_img, 0755) +os.chmod(FLOOPY_IMG, 0755) logger.info(Boot floppy created successfuly) return 0 @@ -339,22 +348,18 @@ def install_windows_cdrom(params): logger.info('prepare pre-installation environment...') logger.info('mount windows nfs server to /mnt/libvirt_windows') -iso_mount_point = /mnt/libvirt_windows - -status, iso_local_path = prepare_iso(iso_file, iso_mount_point) +status, iso_local_path = prepare_iso(iso_file, ISO_MOUNT_POINT) if status: logger.error(installation failed) return 1 params['bootcd'] = iso_local_path -floppy_img = /tmp/floppy.img - status = prepare_floppy_image(guestname, guestos, guestarch, - windows_unattended_path, cdkey, floppy_img) + windows_unattended_path, cdkey, FLOOPY_IMG) if status: logger.error(making floppy image failed) return 1 -params['floppysource'] = floppy_img +params['floppysource'] = FLOOPY_IMG xmlobj = xmlbuilder.XmlBuilder() guestxml = xmlobj.build_domain_install_win(params) @@ -458,3 +463,58 @@ def install_windows_cdrom(params): return return_close(conn, logger, 0) +def install_windows_cdrom_clean(params): + clean testing environment +logger = params['logger'] +guestname = params.get('guestname') +guesttype = params.get('guesttype') + +util = utils.Utils() +hypervisor = util.get_hypervisor() +if hypervisor == 'xen': +imgfullpath = os.path.join('/var/lib/xen/images', guestname) +elif hypervisor == 'kvm': +imgfullpath = os.path.join('/var/lib/libvirt/images', guestname) + +(status, output) = commands.getstatusoutput(VIRSH_QUIET_LIST % guestname) +if status: +pass +else: +logger.info(remove guest %s, and its disk image file % guestname) +(status, output) = commands.getstatusoutput(VM_STAT % guestname) +if status: +(status, output) = commands.getstatusoutput(VM_DESTROY % guestname) +if status: +logger.error(failed to destroy guest %s % guestname) +logger.error(%s % output) +else: +(status, output) = commands.getstatusoutput(VM_UNDEFINE % guestname) +if status: +logger.error(failed to undefine guest %s % guestname) +logger.error(%s % output) +else: +(status,
[libvirt] [libvirt-test-API][PATCH 2/2] Add clean part for install_windows_cdrom
* Add cleanup function install_windows_cdrom_clean --- repos/domain/install_windows_cdrom.py | 88 +++- 1 files changed, 74 insertions(+), 14 deletions(-) diff --git a/repos/domain/install_windows_cdrom.py b/repos/domain/install_windows_cdrom.py index f1441df..2ea0ee7 100644 --- a/repos/domain/install_windows_cdrom.py +++ b/repos/domain/install_windows_cdrom.py @@ -51,6 +51,15 @@ __version__ = 0.1.0 __credits__ = Copyright (C) 2010 Red Hat, Inc. __all__ = ['install_windows_cdrom', 'usage'] +VIRSH_QUIET_LIST = virsh --quiet list --all|awk '{print $2}'|grep \^%s$\ +VM_STAT = virsh --quiet list --all| grep \\\b%s\\b\|grep off +VM_DESTROY = virsh destroy %s +VM_UNDEFINE = virsh undefine %s + +FLOOPY_IMG = /tmp/floppy.img +ISO_MOUNT_POINT = /mnt/libvirt_windows + + def usage(): print '''usage: mandatory arguments:guesttype guestname @@ -132,19 +141,19 @@ def prepare_iso(iso_file, mount_point): return 0, iso_local_path def prepare_floppy_image(guestname, guestos, guestarch, - windows_unattended_path, cdkey, floppy_img): + windows_unattended_path, cdkey, FLOOPY_IMG): Making corresponding floppy images for the given guestname -if os.path.exists(floppy_img): -os.remove(floppy_img) +if os.path.exists(FLOOPY_IMG): +os.remove(FLOOPY_IMG) -create_cmd = 'dd if=/dev/zero of=%s bs=1440k count=1' % floppy_img +create_cmd = 'dd if=/dev/zero of=%s bs=1440k count=1' % FLOOPY_IMG (status, text) = commands.getstatusoutput(create_cmd) if status: logger.error(failed to create floppy image) return 1 -format_cmd = 'mkfs.msdos -s 1 %s' % floppy_img +format_cmd = 'mkfs.msdos -s 1 %s' % FLOOPY_IMG (status, text) = commands.getstatusoutput(format_cmd) if status: logger.error(failed to format floppy image) @@ -159,7 +168,7 @@ def prepare_floppy_image(guestname, guestos, guestarch, os.makedirs(floppy_mount) try: -mount_cmd = 'mount -o loop %s %s' % (floppy_img, floppy_mount) +mount_cmd = 'mount -o loop %s %s' % (FLOOPY_IMG, floppy_mount) (status, text) = commands.getstatusoutput(mount_cmd) if status: logger.error( @@ -202,7 +211,7 @@ def prepare_floppy_image(guestname, guestos, guestarch, cleanup(floppy_mount) -os.chmod(floppy_img, 0755) +os.chmod(FLOOPY_IMG, 0755) logger.info(Boot floppy created successfuly) return 0 @@ -339,22 +348,18 @@ def install_windows_cdrom(params): logger.info('prepare pre-installation environment...') logger.info('mount windows nfs server to /mnt/libvirt_windows') -iso_mount_point = /mnt/libvirt_windows - -status, iso_local_path = prepare_iso(iso_file, iso_mount_point) +status, iso_local_path = prepare_iso(iso_file, ISO_MOUNT_POINT) if status: logger.error(installation failed) return 1 params['bootcd'] = iso_local_path -floppy_img = /tmp/floppy.img - status = prepare_floppy_image(guestname, guestos, guestarch, - windows_unattended_path, cdkey, floppy_img) + windows_unattended_path, cdkey, FLOOPY_IMG) if status: logger.error(making floppy image failed) return 1 -params['floppysource'] = floppy_img +params['floppysource'] = FLOOPY_IMG xmlobj = xmlbuilder.XmlBuilder() guestxml = xmlobj.build_domain_install_win(params) @@ -458,3 +463,58 @@ def install_windows_cdrom(params): return return_close(conn, logger, 0) +def install_windows_cdrom_clean(params): + clean testing environment +logger = params['logger'] +guestname = params.get('guestname') +guesttype = params.get('guesttype') + +util = utils.Utils() +hypervisor = util.get_hypervisor() +if hypervisor == 'xen': +imgfullpath = os.path.join('/var/lib/xen/images', guestname) +elif hypervisor == 'kvm': +imgfullpath = os.path.join('/var/lib/libvirt/images', guestname) + +(status, output) = commands.getstatusoutput(VIRSH_QUIET_LIST % guestname) +if status: +pass +else: +logger.info(remove guest %s, and its disk image file % guestname) +(status, output) = commands.getstatusoutput(VM_STAT % guestname) +if status: +(status, output) = commands.getstatusoutput(VM_DESTROY % guestname) +if status: +logger.error(failed to destroy guest %s % guestname) +logger.error(%s % output) +else: +(status, output) = commands.getstatusoutput(VM_UNDEFINE % guestname) +if status: +logger.error(failed to undefine guest %s % guestname) +logger.error(%s % output) +else: +(status, output) = commands.getstatusoutput(VM_UNDEFINE % guestname) +
[libvirt] [libvirt-test-API][PATCH 2/2] Add clean part for install_windows_cdrom
* Add cleanup function install_windows_cdrom_clean --- repos/domain/install_windows_cdrom.py | 88 +++- 1 files changed, 74 insertions(+), 14 deletions(-) diff --git a/repos/domain/install_windows_cdrom.py b/repos/domain/install_windows_cdrom.py index f1441df..2ea0ee7 100644 --- a/repos/domain/install_windows_cdrom.py +++ b/repos/domain/install_windows_cdrom.py @@ -51,6 +51,15 @@ __version__ = 0.1.0 __credits__ = Copyright (C) 2010 Red Hat, Inc. __all__ = ['install_windows_cdrom', 'usage'] +VIRSH_QUIET_LIST = virsh --quiet list --all|awk '{print $2}'|grep \^%s$\ +VM_STAT = virsh --quiet list --all| grep \\\b%s\\b\|grep off +VM_DESTROY = virsh destroy %s +VM_UNDEFINE = virsh undefine %s + +FLOOPY_IMG = /tmp/floppy.img +ISO_MOUNT_POINT = /mnt/libvirt_windows + + def usage(): print '''usage: mandatory arguments:guesttype guestname @@ -132,19 +141,19 @@ def prepare_iso(iso_file, mount_point): return 0, iso_local_path def prepare_floppy_image(guestname, guestos, guestarch, - windows_unattended_path, cdkey, floppy_img): + windows_unattended_path, cdkey, FLOOPY_IMG): Making corresponding floppy images for the given guestname -if os.path.exists(floppy_img): -os.remove(floppy_img) +if os.path.exists(FLOOPY_IMG): +os.remove(FLOOPY_IMG) -create_cmd = 'dd if=/dev/zero of=%s bs=1440k count=1' % floppy_img +create_cmd = 'dd if=/dev/zero of=%s bs=1440k count=1' % FLOOPY_IMG (status, text) = commands.getstatusoutput(create_cmd) if status: logger.error(failed to create floppy image) return 1 -format_cmd = 'mkfs.msdos -s 1 %s' % floppy_img +format_cmd = 'mkfs.msdos -s 1 %s' % FLOOPY_IMG (status, text) = commands.getstatusoutput(format_cmd) if status: logger.error(failed to format floppy image) @@ -159,7 +168,7 @@ def prepare_floppy_image(guestname, guestos, guestarch, os.makedirs(floppy_mount) try: -mount_cmd = 'mount -o loop %s %s' % (floppy_img, floppy_mount) +mount_cmd = 'mount -o loop %s %s' % (FLOOPY_IMG, floppy_mount) (status, text) = commands.getstatusoutput(mount_cmd) if status: logger.error( @@ -202,7 +211,7 @@ def prepare_floppy_image(guestname, guestos, guestarch, cleanup(floppy_mount) -os.chmod(floppy_img, 0755) +os.chmod(FLOOPY_IMG, 0755) logger.info(Boot floppy created successfuly) return 0 @@ -339,22 +348,18 @@ def install_windows_cdrom(params): logger.info('prepare pre-installation environment...') logger.info('mount windows nfs server to /mnt/libvirt_windows') -iso_mount_point = /mnt/libvirt_windows - -status, iso_local_path = prepare_iso(iso_file, iso_mount_point) +status, iso_local_path = prepare_iso(iso_file, ISO_MOUNT_POINT) if status: logger.error(installation failed) return 1 params['bootcd'] = iso_local_path -floppy_img = /tmp/floppy.img - status = prepare_floppy_image(guestname, guestos, guestarch, - windows_unattended_path, cdkey, floppy_img) + windows_unattended_path, cdkey, FLOOPY_IMG) if status: logger.error(making floppy image failed) return 1 -params['floppysource'] = floppy_img +params['floppysource'] = FLOOPY_IMG xmlobj = xmlbuilder.XmlBuilder() guestxml = xmlobj.build_domain_install_win(params) @@ -458,3 +463,58 @@ def install_windows_cdrom(params): return return_close(conn, logger, 0) +def install_windows_cdrom_clean(params): + clean testing environment +logger = params['logger'] +guestname = params.get('guestname') +guesttype = params.get('guesttype') + +util = utils.Utils() +hypervisor = util.get_hypervisor() +if hypervisor == 'xen': +imgfullpath = os.path.join('/var/lib/xen/images', guestname) +elif hypervisor == 'kvm': +imgfullpath = os.path.join('/var/lib/libvirt/images', guestname) + +(status, output) = commands.getstatusoutput(VIRSH_QUIET_LIST % guestname) +if status: +pass +else: +logger.info(remove guest %s, and its disk image file % guestname) +(status, output) = commands.getstatusoutput(VM_STAT % guestname) +if status: +(status, output) = commands.getstatusoutput(VM_DESTROY % guestname) +if status: +logger.error(failed to destroy guest %s % guestname) +logger.error(%s % output) +else: +(status, output) = commands.getstatusoutput(VM_UNDEFINE % guestname) +if status: +logger.error(failed to undefine guest %s % guestname) +logger.error(%s % output) +else: +(status, output) = commands.getstatusoutput(VM_UNDEFINE % guestname) +
Re: [libvirt] [libvirt-test-API][PATCH 2/2] Add clean part for install_windows_cdrom
please ignore this one, confused about the address and send the wrong copy out. Sorry for inconvinience. Thanks! Best Regards! Wayne Sun Redhat QE, Beijing, China +86-10-6260-8238 - Original Message - From: Wayne Sun g...@redhat.com To: libvir-list@redhat.com Sent: Monday, July 25, 2011 10:30:27 AM Subject: [libvirt] [libvirt-test-API][PATCH 2/2] Add clean part for install_windows_cdrom * Add cleanup function install_windows_cdrom_clean --- repos/domain/install_windows_cdrom.py | 88 +++- 1 files changed, 74 insertions(+), 14 deletions(-) diff --git a/repos/domain/install_windows_cdrom.py b/repos/domain/install_windows_cdrom.py index f1441df..2ea0ee7 100644 --- a/repos/domain/install_windows_cdrom.py +++ b/repos/domain/install_windows_cdrom.py @@ -51,6 +51,15 @@ __version__ = 0.1.0 __credits__ = Copyright (C) 2010 Red Hat, Inc. __all__ = ['install_windows_cdrom', 'usage'] +VIRSH_QUIET_LIST = virsh --quiet list --all|awk '{print $2}'|grep \^%s$\ +VM_STAT = virsh --quiet list --all| grep \\\b%s\\b\|grep off +VM_DESTROY = virsh destroy %s +VM_UNDEFINE = virsh undefine %s + +FLOOPY_IMG = /tmp/floppy.img +ISO_MOUNT_POINT = /mnt/libvirt_windows + + def usage(): print '''usage: mandatory arguments:guesttype guestname @@ -132,19 +141,19 @@ def prepare_iso(iso_file, mount_point): return 0, iso_local_path def prepare_floppy_image(guestname, guestos, guestarch, - windows_unattended_path, cdkey, floppy_img): + windows_unattended_path, cdkey, FLOOPY_IMG): Making corresponding floppy images for the given guestname -if os.path.exists(floppy_img): -os.remove(floppy_img) +if os.path.exists(FLOOPY_IMG): +os.remove(FLOOPY_IMG) -create_cmd = 'dd if=/dev/zero of=%s bs=1440k count=1' % floppy_img +create_cmd = 'dd if=/dev/zero of=%s bs=1440k count=1' % FLOOPY_IMG (status, text) = commands.getstatusoutput(create_cmd) if status: logger.error(failed to create floppy image) return 1 -format_cmd = 'mkfs.msdos -s 1 %s' % floppy_img +format_cmd = 'mkfs.msdos -s 1 %s' % FLOOPY_IMG (status, text) = commands.getstatusoutput(format_cmd) if status: logger.error(failed to format floppy image) @@ -159,7 +168,7 @@ def prepare_floppy_image(guestname, guestos, guestarch, os.makedirs(floppy_mount) try: -mount_cmd = 'mount -o loop %s %s' % (floppy_img, floppy_mount) +mount_cmd = 'mount -o loop %s %s' % (FLOOPY_IMG, floppy_mount) (status, text) = commands.getstatusoutput(mount_cmd) if status: logger.error( @@ -202,7 +211,7 @@ def prepare_floppy_image(guestname, guestos, guestarch, cleanup(floppy_mount) -os.chmod(floppy_img, 0755) +os.chmod(FLOOPY_IMG, 0755) logger.info(Boot floppy created successfuly) return 0 @@ -339,22 +348,18 @@ def install_windows_cdrom(params): logger.info('prepare pre-installation environment...') logger.info('mount windows nfs server to /mnt/libvirt_windows') -iso_mount_point = /mnt/libvirt_windows - -status, iso_local_path = prepare_iso(iso_file, iso_mount_point) +status, iso_local_path = prepare_iso(iso_file, ISO_MOUNT_POINT) if status: logger.error(installation failed) return 1 params['bootcd'] = iso_local_path -floppy_img = /tmp/floppy.img - status = prepare_floppy_image(guestname, guestos, guestarch, - windows_unattended_path, cdkey, floppy_img) + windows_unattended_path, cdkey, FLOOPY_IMG) if status: logger.error(making floppy image failed) return 1 -params['floppysource'] = floppy_img +params['floppysource'] = FLOOPY_IMG xmlobj = xmlbuilder.XmlBuilder() guestxml = xmlobj.build_domain_install_win(params) @@ -458,3 +463,58 @@ def install_windows_cdrom(params): return return_close(conn, logger, 0) +def install_windows_cdrom_clean(params): + clean testing environment +logger = params['logger'] +guestname = params.get('guestname') +guesttype = params.get('guesttype') + +util = utils.Utils() +hypervisor = util.get_hypervisor() +if hypervisor == 'xen': +imgfullpath = os.path.join('/var/lib/xen/images', guestname) +elif hypervisor == 'kvm': +imgfullpath = os.path.join('/var/lib/libvirt/images', guestname) + +(status, output) = commands.getstatusoutput(VIRSH_QUIET_LIST % guestname) +if status: +pass +else: +logger.info(remove guest %s, and its disk image file % guestname) +(status, output) = commands.getstatusoutput(VM_STAT % guestname) +if status: +(status, output) = commands.getstatusoutput(VM_DESTROY % guestname) +if status: +logger.error(failed to destroy guest %s % guestname