Mailinglist Archive: opensuse-commit (1083 mails)

< Previous Next >
commit vm-install
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Sat, 01 Sep 2007 13:15:34 +0200
  • Message-id: <20070901111535.09DA16781B8@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package vm-install
checked in at Sat Sep 1 13:15:34 CEST 2007.

--------
--- vm-install/vm-install.changes       2007-08-30 01:07:52.000000000 +0200
+++ /mounts/work_src_done/STABLE/vm-install/vm-install.changes  2007-09-01 01:22:08.232630000 +0200
@@ -1,0 +2,15 @@
+Fri Aug 31 11:23:33 MDT 2007 - ccoffing@xxxxxxxxxx
+
+- #305747: Fix bootstrapping of paravirtual SLES 9 SP4
+- #306764: Better error message if NIC model is mistyped
+- #296928: MAC was not set when creating VM from existing disk
+
+-------------------------------------------------------------------
+Thu Aug 30 12:31:01 MDT 2007 - ccoffing@xxxxxxxxxx
+
+- #306469: Fix error paths to ensure disks are always unmounted
+- #306383: Set TERM=linux, which works well for both xencons and pvfb
+- Do not attempt to connect to VNC port if graphics=none
+- Write out stdvga setting based on cirrus vs vesa
+
+-------------------------------------------------------------------
@@ -13,0 +29,5 @@
+Fri Aug 17 09:13:51 MDT 2007 - ccoffing@xxxxxxxxxx
+
+- Update translations
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ vm-install.spec ++++++
--- /var/tmp/diff_new_pack.M24849/_old  2007-09-01 13:15:23.000000000 +0200
+++ /var/tmp/diff_new_pack.M24849/_new  2007-09-01 13:15:23.000000000 +0200
@@ -19,7 +19,7 @@
 Group:          System/Emulators/PC
 Autoreqprov:    yes
 Version:        0.2.1
-Release:        33
+Release:        34
 Summary:        Tool to Define a Virtual Machine and Install Its Operating System
 Source0:        %{name}-0.2.1.tar.bz2
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -80,12 +80,23 @@
 %{_datadir}/applications/YaST2/vm-install.desktop
 
 %changelog
+* Fri Aug 31 2007 - ccoffing@xxxxxxxxxx
+- #305747: Fix bootstrapping of paravirtual SLES 9 SP4
+- #306764: Better error message if NIC model is mistyped
+- #296928: MAC was not set when creating VM from existing disk
+* Thu Aug 30 2007 - ccoffing@xxxxxxxxxx
+- #306469: Fix error paths to ensure disks are always unmounted
+- #306383: Set TERM=linux, which works well for both xencons and pvfb
+- Do not attempt to connect to VNC port if graphics=none
+- Write out stdvga setting based on cirrus vs vesa
 * Wed Aug 29 2007 - ccoffing@xxxxxxxxxx
 - Update translations
 * Tue Aug 21 2007 - ccoffing@xxxxxxxxxx
 - #278190: adjust max memory to always be >= initial memory
 - #296758: call update() before getting spinbox value
 - Fix some errors in libvirt-style XML file written out
+* Fri Aug 17 2007 - ccoffing@xxxxxxxxxx
+- Update translations
 * Thu Aug 16 2007 - ccoffing@xxxxxxxxxx
 - #300757: Option for Windows XP/2003 (x64) was not displayed
 - #296083: If vncviewer is not found, prompt user but don't fail

++++++ vm-install-0.2.1.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.1/ChangeLog new/vm-install-0.2.1/ChangeLog
--- old/vm-install-0.2.1/ChangeLog      2007-08-30 00:49:41.000000000 +0200
+++ new/vm-install-0.2.1/ChangeLog      2007-08-31 23:11:20.000000000 +0200
@@ -1,5 +1,12 @@
 0.2.1-pre
 ---------
+#305747: Fix bootstrapping of paravirtual SLES 9 SP4
+#296928: MAC was not set when creating VM from existing disk
+#306764: Better error message if NIC model is mistyped
+#306469: Fix error paths to ensure disks are always unmounted
+#306383: Set TERM=linux, which works well for both xencons and pvfb
+Do not attempt to connect to VNC if graphics=none
+Write out stdvga setting based on cirrus vs vesa
 Updated translations
 Fix command-line backwards compatibility:  default to sparse disks
 Support escaping on vm-install's command line, to support iSCSI LUNs
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.1/man/vm-install.8 new/vm-install-0.2.1/man/vm-install.8
--- old/vm-install-0.2.1/man/vm-install.8       2007-08-21 19:26:52.000000000 +0200
+++ new/vm-install-0.2.1/man/vm-install.8       2007-08-30 20:14:14.000000000 +0200
@@ -79,9 +79,8 @@
 \fBvesa\fR (Standard VGA with VESA extensions; only for fully virtualized).
 .TP
 .B --graphics-viewer
-Defines how the graphics are viewed.  May be one of \fBsdl\fR, \fBtext\fR,
-or \fBvnc\fR.  Defaults to vnc if the VM has graphics support or text if
-the VM does not have graphics support.
+Defines how the graphics (if any) are viewed.  May be \fBsdl\fR or \fBvnc\fR.
+Defaults to vnc.
 .TP
 .B -m\fR \fIN\fR, \fB--memory\fR \fIN\fR
 Initial megabytes of RAM to allocate to the VM.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.1/src/vminstall/job.py new/vm-install-0.2.1/src/vminstall/job.py
--- old/vm-install-0.2.1/src/vminstall/job.py   2007-08-16 23:45:44.000000000 +0200
+++ new/vm-install-0.2.1/src/vminstall/job.py   2007-08-31 21:41:06.000000000 +0200
@@ -152,7 +152,10 @@
         if self._options.noautoconsole:
             log.info('Not starting a console due to --no-autoconsole')
             domid = console.get_domid_from_uuid(self._options.uuid)
-            self._vncport = console.get_vnc_port_from_domid(domid, timeout=10.0)
+            if self._options.graphics == 'none':
+                self._vncport = None
+            else:
+                self._vncport = console.get_vnc_port_from_domid(domid, timeout=10.0)
             log.debug('VNC port is %s' % self._vncport)
             if self._vncport is not None:
                 self._update_job_file()
@@ -165,18 +168,21 @@
                 log.info('Starting a console, and will wait for it to finish')
             child = None
             try_text = False
-            if self._options.graphics_viewer == 'sdl':
-                # xm automatically created a viewer, so just wait.
-                log.debug('Viewer is sdl')
-            elif self._options.graphics_viewer == 'vnc':
-                log.debug('Viewer is vnc')
-                try:
-                    child = console.vnc_console(self.guest, detach=detached)
-                except NotImplementedError:
-                    try_text = True
-                except RuntimeError, e:
-                    self._ErrorCB(self, str(e))
-            if try_text or self._options.graphics_viewer == 'none':
+            if self._options.graphics == 'none':
+                try_text = True
+            else:
+                if self._options.graphics_viewer == 'sdl':
+                    # xm automatically created a viewer, so just wait.
+                    log.debug('Viewer is sdl')
+                elif self._options.graphics_viewer == 'vnc':
+                    log.debug('Viewer is vnc')
+                    try:
+                        child = console.vnc_console(self.guest, detach=detached)
+                    except NotImplementedError:
+                        try_text = True
+                    except RuntimeError, e:
+                        self._ErrorCB(self, str(e))
+            if try_text:
                 log.debug('Viewer is text')
                 try:
                     child = console.text_console(self.guest, detach=detached)
@@ -203,10 +209,17 @@
         self._GetSettingsCB = GetSettingsCB
         self._ConsoleCB = ConsoleCB
         self._ErrorCB = ErrorCB
-        self._ProgressCB = ProgressCB
         self._cancel = False
 
-        progress = util.filtered_progress(lambda f:self._ProgressCB(self, f))
+        def _ProgressCB(self, f):
+            try:
+                ProgressCB(self, f)
+            except:
+                # Do not trust user's progress function to not raise.  I can
+                # do nothing about such an exception, and in fact lower code
+                # relies on a no-throw guarantee.
+                pass
+        progress = util.filtered_progress(lambda f:_ProgressCB(self, f))
 
         try:
             try:
@@ -288,6 +301,10 @@
             self._guest = FullVirtGuest(self._options)
         else:
             self._guest = ParaVirtGuest(self._options)
+
+        for nic in self._options.nics:
+            nic.setup()
+
         progress(1.0)
 
     def _state_prep_install(self, progress):
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.1/src/vminstall/mount.py new/vm-install-0.2.1/src/vminstall/mount.py
--- old/vm-install-0.2.1/src/vminstall/mount.py 2007-06-07 20:31:53.000000000 +0200
+++ new/vm-install-0.2.1/src/vminstall/mount.py 2007-08-30 22:00:08.000000000 +0200
@@ -47,15 +47,15 @@
         args = ['/bin/umount', self.mountpoint]
         log.debug("Unmounting a disk:  %s" % str(args))
         run(args)
-        try:
-            os.rmdir(self.mountpoint)
-        except:
-            log.debug("Failed to rmdir mountpoint %s" % (self.mountpoint,))
+        os.rmdir(self.mountpoint)
         self.mountpoint = None
 
     def __del__(self):
         if self.mountpoint:
-            self.unmount()
+            try:
+                self.unmount()
+            except:
+                pass
 
 class TemporaryNFSMount(TemporaryMount):
     def __init__(self, server, path):
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.1/src/vminstall/nics.py new/vm-install-0.2.1/src/vminstall/nics.py
--- old/vm-install-0.2.1/src/vminstall/nics.py  2007-05-29 21:59:26.000000000 +0200
+++ new/vm-install-0.2.1/src/vminstall/nics.py  2007-08-31 21:29:43.000000000 +0200
@@ -101,7 +101,8 @@
                 return 'para'
         return self._model
     def set_model(self, model):
-        assert(model is None or model in XenNic.models.keys())
+        if model is not None and model not in XenNic.models.keys():
+            raise ParamError(err=ParamError.E_INVALID, details='model')
         self._model = model
     model = property(get_model, set_model)
 
@@ -125,3 +126,11 @@
         else:
             s += self.mac
         return s
+
+    def __repr__(self):
+        r = ''
+        if self.number is not None:
+            r += '%d:' % self.number
+        mac = self.mac or ''
+        r += '%s,%s,%s,%d' % (self.mac or '', self.bridge or '', self.model or '', self.full_virt)
+        return r
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.1/src/vminstall/options.py new/vm-install-0.2.1/src/vminstall/options.py
--- old/vm-install-0.2.1/src/vminstall/options.py       2007-08-21 21:27:28.000000000 +0200
+++ new/vm-install-0.2.1/src/vminstall/options.py       2007-09-01 00:21:45.000000000 +0200
@@ -32,8 +32,8 @@
             'disks',            # Disk class
             'extra_args',       # User's install or boot args
             'full_virt',
-            'graphics',
-            'graphics_viewer',  # 'sdl', 'vnc'
+            'graphics',         # 'cirrus', 'none', 'para', 'vesa'
+            'graphics_viewer',  # 'text', 'sdl', 'vnc'
             'initrd',
             '_install_args',    # install-time args calculated by OS
             'install',
@@ -442,7 +442,7 @@
     defaults._runtime_args = vmdefaults.actions().getRuntimeArgs(defaults)
     if options._runtime_args:
         defaults._runtime_args += ' %s' % options._runtime_args
-
+    
     # Now give the OS a chance to voice its opinion:
     vmdefaults.actions().preprocessOptions(defaults)
 
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.1/src/vminstall/ParaVirtGuest.py new/vm-install-0.2.1/src/vminstall/ParaVirtGuest.py
--- old/vm-install-0.2.1/src/vminstall/ParaVirtGuest.py 2007-07-07 00:30:31.000000000 +0200
+++ new/vm-install-0.2.1/src/vminstall/ParaVirtGuest.py 2007-08-30 21:44:04.000000000 +0200
@@ -136,8 +136,10 @@
                         mountpoint = mounted_disk.mount()
                     except Exception, e:
                         raise InstSrcError(InstSrcError.E_BAD, details=e.args[0])
-                    (kfn, ifn) = actions.getInstallImagesFromPath(mountpoint, progress)
-                    mounted_disk.unmount()
+                    try:
+                        (kfn, ifn) = actions.getInstallImagesFromPath(mountpoint, progress)
+                    finally:
+                        mounted_disk.unmount()
                 else:
                    (_, kfn, ifn) = self._get_paravirt_images(vdev, partitions, copy=True, progress=progress)
             finally:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.1/src/vminstall/VMLinux.py new/vm-install-0.2.1/src/vminstall/VMLinux.py
--- old/vm-install-0.2.1/src/vminstall/VMLinux.py       2007-05-24 17:10:23.000000000 +0200
+++ new/vm-install-0.2.1/src/vminstall/VMLinux.py       2007-09-01 00:33:10.000000000 +0200
@@ -54,11 +54,8 @@
         return self.getRuntimeArgs(options)
 
     def getRuntimeArgs(self, options):
-        args = ''
-        if options.full_virt:
-            return args
-        # Only want to set TERM=xterm if PVFB is not supported
-        #args = 'TERM=xterm'
-        if options.graphics == 'none':
-            args += ' xencons=tty'
-        return args
+        args = []
+        if not options.full_virt:
+            if options.graphics == 'none':
+                args.append('xencons=tty')
+        return ' '.join(args)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.1/src/vminstall/VMNetWare.py new/vm-install-0.2.1/src/vminstall/VMNetWare.py
--- old/vm-install-0.2.1/src/vminstall/VMNetWare.py     2007-08-28 00:14:09.000000000 +0200
+++ new/vm-install-0.2.1/src/vminstall/VMNetWare.py     2007-08-30 21:53:37.000000000 +0200
@@ -32,7 +32,11 @@
         Retrieves a Xen-enabled NetWare kernel from the base path, and
         copies it to a temporary file.  Returns the (kernel, None) tuple of
         filenames."""
-        kfn = util.copy_to_temp(open(self._kernel(path), 'r'), prefix='netware.', progress=progress)
+        kfd = open(self._kernel(path), 'r')
+        try:
+            kfn = util.copy_to_temp(kfd, prefix='netware.', progress=progress)
+        finally:        
+            kfd.close()
         return (kfn, None)
 
     def getRuntimeImagesFromPath(self, root):
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.1/src/vminstall/VMRedHat.py new/vm-install-0.2.1/src/vminstall/VMRedHat.py
--- old/vm-install-0.2.1/src/vminstall/VMRedHat.py      2007-07-20 19:41:30.000000000 +0200
+++ new/vm-install-0.2.1/src/vminstall/VMRedHat.py      2007-08-30 21:31:01.000000000 +0200
@@ -34,31 +34,49 @@
         """Retrieves a Xen-enabled RedHat kernel and initrd from the URL, and
         copies them to temporary files.  Returns the (kernel, initrd) tuple of
         filenames."""
+        kfd = ifd = None
         try:
-            if url.startswith('http://') or url.startswith('ftp://'):
-                kfd = grabber.urlopen(self._kernel(url))
-                ifd = grabber.urlopen(self._initrd(url))
-            elif url.startswith('nfs:'):
-                mnt = mount.TemporaryMount(url[4:])
-                mountpoint = mnt.mount(mnt)
-                kfd = open(self._kernel(mountpoint), 'r')
-                ifd = open(self._initrd(mountpoint), 'r')
-            else:
-                raise InstSrcError(err=InstSrcError.E_UNSUPPORTED, details=url)
-        except IOError, e:
-            raise RuntimeError(msg.invalid_url + ': ' + str(e))
-        kfn = util.copy_to_temp(kfd, prefix='vmlinuz.', progress=lambda f:progress(f*0.5))
-        ifn = util.copy_to_temp(ifd, prefix='initrd.', progress=lambda f:progress(0.5+f*0.5))
+            try:
+                if url.startswith('http://') or url.startswith('ftp://'):
+                    kfd = grabber.urlopen(self._kernel(url))
+                    ifd = grabber.urlopen(self._initrd(url))
+                elif url.startswith('nfs:'):
+                    mnt = mount.TemporaryMount(url[4:])
+                    mountpoint = mnt.mount(mnt)
+                    kfd = open(self._kernel(mountpoint), 'r')
+                    ifd = open(self._initrd(mountpoint), 'r')
+                else:
+                    raise InstSrcError(err=InstSrcError.E_UNSUPPORTED, details=url)
+                kfn = util.copy_to_temp(kfd, prefix='vmlinuz.', progress=lambda f:progress(f*0.5))
+                try:
+                    ifn = util.copy_to_temp(ifd, prefix='initrd.', progress=lambda f:progress(0.5+f*0.5))
+                except:
+                    os.unlink(kfn)
+                    raise
+            except IOError, e:
+                raise RuntimeError(msg.invalid_url + ': ' + str(e))
+        finally:
+            if kfd: kfd.close()
+            if ifd: ifd.close()
         return (kfn, ifn)
 
     def getInstallImagesFromPath(self, path, progress=lambda f:None):
         """Retrieves a Xen-enabled RedHat kernel and initrd from the base path, and
         copies them to temporary files.  Returns the (kernel, initrd) tuple of
         filenames."""
-        kfd = open(self._kernel(path), 'r')
-        ifd = open(self._initrd(path), 'r')
-        kfn = util.copy_to_temp(kfd, prefix='vmlinuz.', progress=lambda f:progress(f*0.5))
-        ifn = util.copy_to_temp(ifd, prefix='initrd.', progress=lambda f:progress(0.5+f*0.5))
+        kfd = ifd = None
+        try:
+            kfd = open(self._kernel(path), 'r')
+            ifd = open(self._initrd(path), 'r')
+            kfn = util.copy_to_temp(kfd, prefix='vmlinuz.', progress=lambda f:progress(f*0.5))
+            try:
+                ifn = util.copy_to_temp(ifd, prefix='initrd.', progress=lambda f:progress(0.5+f*0.5))
+            except:
+                os.unlink(kfn)
+                raise
+        finally:
+            if kfd: kfd.close()
+            if ifd: ifd.close()
         return (kfn, ifn)
 
     def getInstallArgs(self, options):
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.1/src/vminstall/VMSUSE.py new/vm-install-0.2.1/src/vminstall/VMSUSE.py
--- old/vm-install-0.2.1/src/vminstall/VMSUSE.py        2007-08-28 00:14:25.000000000 +0200
+++ new/vm-install-0.2.1/src/vminstall/VMSUSE.py        2007-09-01 00:30:46.000000000 +0200
@@ -132,36 +132,52 @@
             progress(1.0)
         return kfn
 
+    def _getMediaRoots(self, root, _open=open):
+        """Network install sources may be composed of multiple CDs.  YaST lists
+        their location and ordering in ./yast/instorder.  Potentially any of
+        these CDs may contain a PV kernel.
+        """
+        roots = ['.']
+        try:
+            fd = _open('%s/yast/instorder' % root)
+            try:
+                roots = fd.readlines()
+                roots = map(lambda s: s.strip(), roots)
+            finally:
+                fd.close()
+        finally:
+            log.debug("Media roots: %s" % str(roots))
+            return roots
+        
     def getInstallImagesFromPath(self, root, progress=lambda f:None):
         """Retrieves a Xen-enabled SUSE kernel and initrd from the base path, and
         copies them to temporary files.  Returns the (kernel, initrd) tuple of
         filenames."""
         searched = []
         arches = caps.compatible_arches()
-        for a in arches:
-            k = '/boot/%s/vmlinuz-%s' % (a[0], a[1])
-            searched.append(k)
-            kfn = '%s%s' % (root, k)
-            ifn = '%s/boot/%s/initrd-%s' % (root, a[0], a[1])
-            if os.path.exists(kfn) and os.path.exists(ifn):
-                log.debug("Unpacked kernel/initrd found: %s %s" % (kfn, ifn))
-                kfd = open(kfn, 'r')
-                try:
-                    ifd = open(ifn, 'r')
-                except:
-                    kfd.close()
-                    raise
-                try:
-                    self.kfn = util.copy_to_temp(kfd, prefix='kernel.', progress=lambda f:progress(f*0.5))
+        for mediaroot in self._getMediaRoots(root):
+            for a in arches:
+                k = '/boot/%s/vmlinuz-%s' % (a[0], a[1])
+                searched.append(k)
+                kfn = '%s/%s%s' % (root, mediaroot, k)
+                ifn = '%s/%s/boot/%s/initrd-%s' % (root, mediaroot, a[0], a[1])
+                log.debug("Checking for %s..." % kfn)
+                if os.path.exists(kfn) and os.path.exists(ifn):
+                    log.debug("Unpacked kernel/initrd found: %s %s" % (kfn, ifn))
+                    kfd = ifd = None
                     try:
-                        self.ifn = util.copy_to_temp(ifd, prefix='install-initrd.', progress=lambda f:progress(0.5+f*0.5))
-                    except:
-                        os.unlink(self.kfn)
-                        raise
-                finally:
-                    kfd.close()
-                    ifd.close()
-                return (self.kfn, self.ifn)
+                        kfd = open(kfn, 'r')
+                        ifd = open(ifn, 'r')
+                        self.kfn = util.copy_to_temp(kfd, prefix='kernel.', progress=lambda f:progress(f*0.5))
+                        try:
+                            self.ifn = util.copy_to_temp(ifd, prefix='install-initrd.', progress=lambda f:progress(0.5+f*0.5))
+                        except:
+                            os.unlink(self.kfn)
+                            raise
+                    finally:
+                        if kfd: kfd.close()
+                        if ifd: ifd.close()
+                    return (self.kfn, self.ifn)
         log.debug("No unpacked kernel/initrd found")
         index_path = root + '/INDEX.gz'
         searched.append('/INDEX.gz')
@@ -216,22 +232,24 @@
         progress(0.1)
 
         arches = caps.compatible_arches()
-        for a in arches:
-            try:
-                kfn = '/boot/%s/vmlinuz-%s' % (a[0], a[1])
-                ifn = '/boot/%s/initrd-%s' % (a[0], a[1])
-                kfd = urlopen(base + kfn)
-                self.kfn = util.copy_to_temp(kfd, prefix='kernel.', progress=lambda f:progress(0.1+f*0.45))
-                kfd.close()
-                die_zero(self.kfn)
-                ifd = urlopen(base + ifn)
-                self.ifn = util.copy_to_temp(ifd, prefix='install-initrd.', progress=lambda f:progress(0.55+f*0.45))
-                ifd.close()
-                die_zero(self.kfn)
-                log.debug("Unpacked kernel/initrd found: %s %s" % (kfn, ifn))
-                return (self.kfn, self.ifn)
-            except:
-                continue
+        for mediaroot in self._getMediaRoots(base, urlopen):
+            for a in arches:
+                try:
+                    kfn = '/%s/boot/%s/vmlinuz-%s' % (mediaroot, a[0], a[1])
+                    ifn = '/%s/boot/%s/initrd-%s' % (mediaroot, a[0], a[1])
+                    log.debug("Checking for %s..." % (base+kfn,))
+                    kfd = urlopen(base + kfn)
+                    self.kfn = util.copy_to_temp(kfd, prefix='kernel.', progress=lambda f:progress(0.1+f*0.45))
+                    kfd.close()
+                    die_zero(self.kfn)
+                    ifd = urlopen(base + ifn)
+                    self.ifn = util.copy_to_temp(ifd, prefix='install-initrd.', progress=lambda f:progress(0.55+f*0.45))
+                    ifd.close()
+                    die_zero(self.kfn)
+                    log.debug("Unpacked kernel/initrd found: %s %s" % (kfn, ifn))
+                    return (self.kfn, self.ifn)
+                except:
+                    continue
         log.debug("No unpacked kernel/initrd found")
         try:
             url = base + '/INDEX.gz'
@@ -320,7 +338,7 @@
                 options.os_settings = arg[9:]
             else:
                 extra_args += arg + ' '
-        options.extra_args = extra_args
+        options.extra_args = extra_args.strip()
 
     def setupOsSettings(self, guest, progress=lambda f:None):
         """Creates a temporary disk image, in which to pass the autoyast
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.1/src/vminstall/XenGuest.py new/vm-install-0.2.1/src/vminstall/XenGuest.py
--- old/vm-install-0.2.1/src/vminstall/XenGuest.py      2007-07-20 18:29:06.000000000 +0200
+++ new/vm-install-0.2.1/src/vminstall/XenGuest.py      2007-08-31 21:41:33.000000000 +0200
@@ -204,6 +204,10 @@
             options = map(lambda s: "".join(s.split("'")), options)
             lines.append('vfb=[\'type=%s,%s\']' % (viewer, ','.join(options)))
         else:
+            stdvga = 0
+            if self.options.graphics == 'vesa':
+                stdvga=1
+            lines.append('stdvga=%d' % stdvga)
             lines.append('%s=1' % viewer)
             lines += options
 
@@ -306,9 +310,6 @@
         for i in range(len(disks)):
             disks[i].setup(lambda f: progress(cum_times[i]/cum_times[-1] + f*cum_times[i+1]/cum_times[-1]))
 
-        for nic in self.options.nics:
-            nic.setup()
-
     def FailedInstall(self):
         log.info("Installation failed, so destroying VM")
         self.Stop()
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.1/TODO new/vm-install-0.2.1/TODO
--- old/vm-install-0.2.1/TODO   2007-08-25 01:04:19.000000000 +0200
+++ new/vm-install-0.2.1/TODO   2007-08-30 19:05:33.000000000 +0200
@@ -1,3 +1,6 @@
+ - If [PV &&] nographics, do not try to attach vnc
+ - yast/instorder for sles 9
+
  - tap:aio should be non-sparse
  - auto-start on boot option
  - keymap


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread