[libvirt] [libvirt-test-API][PATCH 1/2] Add cleap part for install_linux_net
Guannan Ren
gren at redhat.com
Mon Jul 25 09:14:57 UTC 2011
On 07/25/2011 10:30 AM, Wayne Sun wrote:
> * Add the install_linux_net_clean function
> ---
> repos/domain/install_linux_net.py | 58 +++++++++++++++++++++++++++++++++++++
> 1 files changed, 58 insertions(+), 0 deletions(-)
>
> diff --git a/repos/domain/install_linux_net.py b/repos/domain/install_linux_net.py
> index 924bb05..21ae378 100644
> --- a/repos/domain/install_linux_net.py
> +++ b/repos/domain/install_linux_net.py
> @@ -51,6 +51,13 @@ from utils.Python import env_parser
> from utils.Python import xmlbuilder
> from exception import LibvirtAPI
>
> +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"
> +
> +BOOT_DIR = "/var/lib/libvirt/boot/"
> +
> def return_close(conn, logger, ret):
> conn.close()
> logger.info("closed hypervisor connection")
> @@ -433,3 +440,54 @@ def install_linux_net(params):
> return return_close(conn, logger, 1)
>
> return return_close(conn, logger, 0)
> +
> +def install_linux_net_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)
> + if status:
> + logger.error("failed to undefine guest %s" % guestname)
> + logger.error("%s" % output)
> +
> + if os.path.exists(imgfullpath):
> + os.remove(imgfullpath)
> +
> + if guesttype == 'xenpv' or guesttype == 'kvm':
> + vmlinuz = os.path.join(BOOT_DIR, 'vmlinuz')
> + initrd = os.path.join(BOOT_DIR, 'initrd.img')
> + if os.path.exists(vmlinuz):
> + os.remove(vmlinuz)
> + if os.path.exists(initrd):
> + os.remove(initrd)
> + elif guesttype == 'xenfv':
> + guest_dir = os.path.join(homepath, guestname)
> + if os.path.exists(guest_dir):
> + shutil.rmtree(guest_dir)
> +
ACK
Guannan Ren
More information about the libvir-list
mailing list