* Yogananth Subramanian <anant...@linux.vnet.ibm.com> [2010-02-10 10:30]:
> >From 0aa8ed40de86eb8ad5b324177b2e0986e1c32c77 Mon Sep 17 00:00:00 2001
> From: yogananth subramanian <anant...@linux.vnet.ibm.com>
> Date: Wed, 10 Feb 2010 09:45:58 -0500
> Subject: [PATCH 3/5] kvm test: unattended: add support for parallel
> install of suse and other guest OS
> 
> File extension of the unattended file ".suse", in case of Sles is
> used to identify the guest OS.
> Since the netboot image path and the kernel name differs for
> both sles and Rhel, its important to identify the type of
> guest being installed.
> 
> The funtion "create_boot_floppy()" is called during initialization
> ranther from the funtion "setup", since its important to indentify
> the OS type being installed duiring initializatoin.
> 
> Signed-off-by: yogananth subramanian <anant...@linux.vnet.ibm.com>
> ---
>  client/tests/kvm/scripts/unattended.py |   30
> +++++++++++++++++++++++-------
>  1 files changed, 23 insertions(+), 7 deletions(-)
> 
> diff --git a/client/tests/kvm/scripts/unattended.py
> b/client/tests/kvm/scripts/unattended.py
> index 87a8973..2257abf 100755
> --- a/client/tests/kvm/scripts/unattended.py
> +++ b/client/tests/kvm/scripts/unattended.py
> @@ -59,8 +59,9 @@ class UnattendedInstall(object):
>          self.cdrom_iso = os.path.join(kvm_test_dir, cdrom_iso)
>          self.floppy_mount = tempfile.mkdtemp(prefix='floppy_',
> dir='/tmp')
>          self.cdrom_mount = tempfile.mkdtemp(prefix='cdrom_',
> dir='/tmp')
> -        self.floppy_img = os.path.join(images_dir, 'floppy.img')
> -
> +        flopy_name = os.path.basename(os.environ['KVM_TEST_floppy'])
> +        self.floppy_img = os.path.join(images_dir, flopy_name)
> +        self.create_boot_floppy()
> 
>      def create_boot_floppy(self):
>          """
> @@ -93,8 +94,12 @@ class UnattendedInstall(object):
>              shutil.copyfile(setup_file_path, setup_file_dest)
>          elif self.unattended_file.endswith('.ks'):
>              dest_fname = 'ks.cfg'
> +            self.os = "redhat"
>          elif self.unattended_file.endswith('.xml'):
>              dest_fname = "autounattend.xml"
> +        elif self.unattended_file.endswith('.suse'):
> +            dest_fname = "autoinst.xml"
> +            self.os = "suse"
> 
>          dest = os.path.join(self.floppy_mount, dest_fname)
> 
> @@ -160,10 +165,22 @@ class UnattendedInstall(object):
>          if os.system(m_cmd):
>              raise SetupError('Could not mount CD image %s.' %
> self.cdrom_iso)
> 
> -        p = os.path.join('images', 'pxeboot')
> -        pxe_dir = os.path.join(self.cdrom_mount, p)
> -        pxe_image = os.path.join(pxe_dir, 'vmlinuz')
> -        pxe_initrd = os.path.join(pxe_dir, 'initrd.img')
> +        if self.os == "redhat":
> +            kernel = 'vmlinuz'
> +            initrd = 'initrd.img'
> +            p = os.path.join('images', 'pxeboot')
> +            pxe_dir = os.path.join(self.cdrom_mount, p)
> +        else :
> +            kernel = 'linux'
> +            initrd = 'initrd'
> +            p = os.path.join('boot/x86_64', 'loader')
> +            pxe_dir = os.path.join(self.cdrom_mount, p)
> +            if not os.path.isdir(pxe_dir):
> +                p = os.path.join('boot/i386', 'loader')
> +                pxe_dir = os.path.join(self.cdrom_mount, p)

Rather than hard-coding these locations, I think the test config file
should have a variable for the location of the kernel and initrd and 
have us read this from the config.

> +
> +        pxe_image = os.path.join(pxe_dir, kernel)
> +        pxe_initrd = os.path.join(pxe_dir, initrd)
> 
>          if not os.path.isdir(pxe_dir):
>              raise SetupError('The ISO image does not have a %s dir. The
> script '
> @@ -229,7 +246,6 @@ class UnattendedInstall(object):
>          print "    floppy_img: " + str(self.floppy_img)
>          print "    finish_program: " + str(self.finish_program)
> 
> -        self.create_boot_floppy()
>          if self.tftp_root:
>              self.setup_pxe_boot()
>          self.cleanup()
> -- 
> 1.6.2.5
> 
> 

-- 
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to