Hello community, here is the log from the commit of package vm-install checked in at Sat Feb 2 02:02:18 CET 2008. -------- --- vm-install/vm-install.changes 2008-01-12 01:06:32.000000000 +0100 +++ vm-install/vm-install.changes 2008-02-01 21:14:50.253971000 +0100 @@ -1,0 +2,12 @@ +Fri Feb 1 21:08:31 CET 2008 - carnold@suse.de + +- Update version to 0.2.3 +- Add support for selecting PXE boot as installation source. +- 346602 - vm-install: apic settings for FV RHEL3 are incorrect +- 336779 - vm-install: Can't create domU - client aborts with + "Error: unsupported operand type(s) for *: 'NoneType' and 'int'" +- 349280 - vm-install doesn' t allow --nic option with empty string +- 353739 - vm-install: starting vm-install with -d option but + without size always selects 4.0 GB + +------------------------------------------------------------------- Old: ---- vm-install-0.2.2.tar.bz2 New: ---- vm-install-0.2.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vm-install.spec ++++++ --- /var/tmp/diff_new_pack.o29363/_old 2008-02-02 01:59:36.000000000 +0100 +++ /var/tmp/diff_new_pack.o29363/_new 2008-02-02 01:59:36.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package vm-install (Version 0.2.2) +# spec file for package vm-install (Version 0.2.3) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -18,10 +18,10 @@ License: GPL v2 or later Group: System/Emulators/PC AutoReqProv: yes -Version: 0.2.2 -Release: 32 +Version: 0.2.3 +Release: 1 Summary: Tool to Define a Virtual Machine and Install Its Operating System -Source0: %{name}-0.2.2.tar.bz2 +Source0: %{name}-0.2.3.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: xen-tools python-urlgrabber libxml2-python %define pysite %(python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()") @@ -77,59 +77,68 @@ %{_datadir}/applications/YaST2/vm-install.desktop %changelog -* Sat Jan 12 2008 - carnold@suse.de +* Fri Feb 01 2008 carnold@suse.de +- Update version to 0.2.3 +- Add support for selecting PXE boot as installation source. +- 346602 - vm-install: apic settings for FV RHEL3 are incorrect +- 336779 - vm-install: Can't create domU - client aborts with + "Error: unsupported operand type(s) for *: 'NoneType' and 'int'" +- 349280 - vm-install doesn' t allow --nic option with empty string +- 353739 - vm-install: starting vm-install with -d option but + without size always selects 4.0 GB +* Sat Jan 12 2008 carnold@suse.de - Enable SMP support by default. -* Thu Oct 11 2007 - ccoffing@novell.com +* Fri Oct 12 2007 ccoffing@novell.com - Update version to 0.2.2 - Many fixes to written XML - Store bootloader settings in XML - #330240: Network bridges bridges are not showing up if gnomesu is used to launch virt-manager - #329547: Default disk proposal for openSUSE is too small -* Thu Sep 06 2007 - ccoffing@novell.com +* Fri Sep 07 2007 ccoffing@novell.com - #306964: Work around pygtk threading bug - #306383: Fix unreadable linuxrc screen in paravirtual SLES 9 SP4 - rpmlint: don't need BuildRequires: python - rpmlint: don't remove buildroot in install section -* Fri Aug 31 2007 - ccoffing@novell.com +* Fri Aug 31 2007 ccoffing@novell.com - #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@novell.com +* Thu Aug 30 2007 ccoffing@novell.com - #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@novell.com +* Thu Aug 30 2007 ccoffing@novell.com - Update translations -* Tue Aug 21 2007 - ccoffing@novell.com +* Tue Aug 21 2007 ccoffing@novell.com - #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@novell.com +* Fri Aug 17 2007 ccoffing@novell.com - Update translations -* Thu Aug 16 2007 - ccoffing@novell.com +* Thu Aug 16 2007 ccoffing@novell.com - #300757: Option for Windows XP/2003 (x64) was not displayed - #296083: If vncviewer is not found, prompt user but don't fail - Remove ExclusiveArch -* Fri Aug 03 2007 - vm@novell.com +* Sat Aug 04 2007 vm@novell.com - #297472: AttributeError when trying to install FV OS on non-VT -* Tue Jul 31 2007 - ccoffing@novell.com +* Tue Jul 31 2007 ccoffing@novell.com - #271697: Accept period in VM's name - Pressing Enter now accepts VM name - Add notes to translators -* Tue Jul 24 2007 - ccoffing@novell.com +* Tue Jul 24 2007 ccoffing@novell.com - #289581: Support info files for --os-settings for SUSE - Fix defaulting of full vs. para - Fix ability to edit disk - Fix exception when starting PV RHEL from URL - #291706: Previous fix had caused sparse to sometimes default off -* Mon Jul 16 2007 - ccoffing@novell.com +* Mon Jul 16 2007 ccoffing@novell.com - #291706: Allow disk-format-specific options. -* Mon Jul 02 2007 - ccoffing@novell.com +* Tue Jul 03 2007 ccoffing@novell.com - Start of VM disk management tool. - Bug fixes and refactoring. -* Fri Jun 22 2007 - ccoffing@novell.com +* Sat Jun 23 2007 ccoffing@novell.com - Not noarch; only build on architectures supported by Xen. -* Wed Jun 20 2007 - ccoffing@novell.com +* Wed Jun 20 2007 ccoffing@novell.com - Moved out of xen-tools ++++++ vm-install-0.2.2.tar.bz2 -> vm-install-0.2.3.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/bin/vm-install new/vm-install-0.2.3/bin/vm-install --- old/vm-install-0.2.2/bin/vm-install 2007-10-09 23:17:00.000000000 +0200 +++ new/vm-install-0.2.3/bin/vm-install 2008-01-29 22:12:43.000000000 +0100 @@ -38,7 +38,10 @@ vminstall.xml.merge(value, parser.values) def setDisk(option, opt_str, value, parser): - disk = vmdisks.disks.parse_string(value) + blocks=None + if options.os_type is not None: + blocks = vminstall.VMDefaults.VMDefaults[options.os_type]._disk_size() * 1024*1024*2 + disk = vmdisks.disks.parse_string(value, False, blocks) if parser.values.disks: parser.values.disks.extend([disk]) else: @@ -54,6 +57,16 @@ def populate_options(options): parser = optparse.OptionParser(description="""Defines a Xen virtual machine and installs its operating system. Consult the man page for complete usage and examples.""") + # Check for an os_type first so we can default to correct disk settings + found = False + for o in sys.argv: + if found: + if o in vminstall.VMDefaults.VMDefaults: + options.os_type = o + break + if o == '-o' or o == '--os-type': + found = True + parser.add_option('-c', '--vcpus', type='int', dest='vcpus', help="number of virtual CPUs") parser.add_option('-d', '--disk', type='string', action='callback', callback=setDisk, diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/ChangeLog new/vm-install-0.2.3/ChangeLog --- old/vm-install-0.2.2/ChangeLog 2007-10-04 01:08:23.000000000 +0200 +++ new/vm-install-0.2.3/ChangeLog 2008-02-01 19:40:56.000000000 +0100 @@ -1,4 +1,9 @@ -pre-0.2.2 +0.2.3 +--------- +Add option to allow PXE booting of the guest +Enable SMP for guests by default + +0.2.2 --------- Many fixes to written XML Store bootloader settings in XML diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/glade/vm-install.glade new/vm-install-0.2.3/glade/vm-install.glade --- old/vm-install-0.2.2/glade/vm-install.glade 2007-09-18 21:48:02.000000000 +0200 +++ new/vm-install-0.2.3/glade/vm-install.glade 2008-01-19 00:15:12.000000000 +0100 @@ -3994,72 +3994,125 @@ </child> <child> - <widget class="GtkHBox" id="hbox86"> + <widget class="GtkAlignment" id="alignment268"> <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">10</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">0</property> + <property name="right_padding">0</property> <child> - <widget class="GtkLabel" id="fv-src-disk"> + <widget class="GtkTable" id="table129"> <property name="visible">True</property> - <property name="label" translatable="yes">virtual-disk</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">fv-src-disk-box</property> - <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> - <property name="width_chars">-1</property> - <property name="single_line_mode">False</property> - <property name="angle">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="homogeneous">False</property> + <property name="row_spacing">0</property> + <property name="column_spacing">10</property> - <child> - <widget class="GtkComboBox" id="fv-src-disk-box"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="add_tearoffs">False</property> - <property name="focus_on_click">True</property> - <signal name="changed" handler="on_cd_path_changed" last_modification_time="Wed, 23 Aug 2006 20:46:09 GMT"/> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> + <child> + <widget class="GtkRadioButton" id="fv-src-disk"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">virtual-disk</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">True</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_fv_src_disk_toggled" last_modification_time="Thu, 17 Jan 2008 21:31:52 GMT"/> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> - <child> - <widget class="GtkButton" id="fv-src-disk-add"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-add</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - <signal name="clicked" handler="on_fv_src_disk_add_clicked" last_modification_time="Mon, 05 Mar 2007 19:03:19 GMT"/> + <child> + <widget class="GtkRadioButton" id="fv-src-pxe"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">PXE-boot</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">fv-src-disk</property> + <signal name="toggled" handler="on_media_toggled" last_modification_time="Thu, 17 Jan 2008 21:34:29 GMT"/> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox91"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">10</property> + + <child> + <widget class="GtkComboBox" id="fv-src-disk-box"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="add_tearoffs">False</property> + <property name="focus_on_click">True</property> + <signal name="changed" handler="on_cd_path_changed" last_modification_time="Thu, 17 Jan 2008 21:29:21 GMT"/> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="fv-src-disk-add"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-add</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_fv_src_disk_add_clicked" last_modification_time="Thu, 17 Jan 2008 21:26:42 GMT"/> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="y_options">fill</property> + </packing> + </child> </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> </child> </widget> <packing> <property name="padding">0</property> - <property name="expand">False</property> + <property name="expand">True</property> <property name="fill">True</property> </packing> </child> diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/Makefile new/vm-install-0.2.3/Makefile --- old/vm-install-0.2.2/Makefile 2007-10-05 21:17:54.000000000 +0200 +++ new/vm-install-0.2.3/Makefile 2008-02-01 19:40:15.000000000 +0100 @@ -1,5 +1,5 @@ PACKAGE = vm-install -VER = 0.2.2 +VER = 0.2.3 default: echo "Run 'make install DESTDIR=$destdir' to install." diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/man/vm-server.8 new/vm-install-0.2.3/man/vm-server.8 --- old/vm-install-0.2.2/man/vm-server.8 2007-10-10 00:32:06.000000000 +0200 +++ new/vm-install-0.2.3/man/vm-server.8 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -.TH vm-server 8 "2007-06-26" -.SH NAME -vm-server - manage the virtual machine server -.SH SYNOPSIS -.br -.BI "vm-server [options ...]" -.LP -.SH DESCRIPTION -\fBvm-server\fR needs to be documented. - -.SH OPTIONS -Intro blurb. - -.TP -.B -l\fR, \fB--list\fR -blah -.TP - -.SH EXAMPLES -Here are some examples -.RS -.br -# vm-server -.RE - -.SH DIAGNOSTICS -A zero exit code indicates success; non-zero indicates failure. Failure exit -codes are grouped based on the underlying cause of the failure. -.LP -.B General -.TP -.BR 0 -Success -.TP -.BR 1 -Other runtime error - -.SH TO DO -blah - -.SH SEE ALSO -.BR vm-install (8) - -To report problems with this software or its documentation, visit -.IR http://bugzilla.novell.com diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/setup.py new/vm-install-0.2.3/setup.py --- old/vm-install-0.2.2/setup.py 2007-10-02 22:34:51.000000000 +0200 +++ new/vm-install-0.2.3/setup.py 2008-02-01 19:39:05.000000000 +0100 @@ -1,7 +1,7 @@ from distutils.core import setup setup(name='vminstall', - version='0.2.2', + version='0.2.3', description='Define a virtual machine and install its operating system', author='Charles Coffing', author_email='ccoffing@novell.com', diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/src/vmdisks/disks.py new/vm-install-0.2.3/src/vmdisks/disks.py --- old/vm-install-0.2.2/src/vmdisks/disks.py 2007-10-04 01:04:06.000000000 +0200 +++ new/vm-install-0.2.3/src/vmdisks/disks.py 2008-01-29 22:13:04.000000000 +0100 @@ -211,7 +211,7 @@ } default_proto = 'file' -def parse_string(disk, extended=False): +def parse_string(disk, extended=False, blocks=None): """Parses a text representation of a disk, and returns such a disk object. Command-line form: @@ -245,7 +245,6 @@ vdev = None vdevType = None ro = None - blocks = None if extended or len(params) > 1: vdev = params[1] if extended or len(params) > 2: diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/src/vminstall/FullVirtGuest.py new/vm-install-0.2.3/src/vminstall/FullVirtGuest.py --- old/vm-install-0.2.2/src/vminstall/FullVirtGuest.py 2007-10-18 23:46:38.000000000 +0200 +++ new/vm-install-0.2.3/src/vminstall/FullVirtGuest.py 2008-01-19 00:03:46.000000000 +0100 @@ -14,6 +14,7 @@ from exceptions import * from XenGuest import XenGuest from vmdisks import Disk +from log import log class FullVirtGuest(XenGuest): def __init__(self, options): @@ -92,7 +93,10 @@ else: bootdev = 'd' else: - bootdev = 'd' + if self.options.pxe_boot: + bootdev = 'n' + else: + bootdev = 'd' else: bootdev = 'c' diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/src/vminstall/gtk/interface.py new/vm-install-0.2.3/src/vminstall/gtk/interface.py --- old/vm-install-0.2.2/src/vminstall/gtk/interface.py 2007-09-18 21:48:01.000000000 +0200 +++ new/vm-install-0.2.3/src/vminstall/gtk/interface.py 2008-02-01 18:35:24.000000000 +0100 @@ -156,8 +156,10 @@ 'on_button_new_nic_clicked': self.do_new_nic, 'on_button_edit_nic_clicked': self.do_edit_nic, 'on_button_delete_nic_clicked': self.do_delete_nic, + 'on_fv_install_source_focus_in': self.activate_fv_pxe_src, 'on_pv_install_source_focus_in': self.activate_pv_network_src, 'on_create_memory_max_value_changed': self.set_max_memory, + 'on_fv_media_toggled': self.change_fv_media_type, 'on_pv_media_toggled': self.change_pv_media_type, 'on_os_settings_browse_clicked': self.browse_os_settings, 'on_os_type_list_button_release_event': self.select_os_type, @@ -222,12 +224,13 @@ set_radio_text('os_install_yes') set_radio_text('pv-src-disk', text=vminstall.msg.virtual_disk, modifier=prompt) set_radio_text('pv-src-network', text=vminstall.msg.network_url, modifier=prompt) + set_radio_text('fv-src-disk', text=vminstall.msg.virtual_disk, modifier=prompt) + set_radio_text('fv-src-pxe', text=vminstall.msg.PXE_boot, modifier=prompt) set_radio_text('virt-method-fv', text=vminstall.msg.full_virtualization) set_radio_text('virt-method-pv', text=vminstall.msg.paravirtualization) set_text('available_cpus_prompt', modifier=prompt) set_text('available_memory_prompt', modifier=prompt) set_text('fv_install_help', text=vminstall.msg.install_media_help) - set_text('fv-src-disk', text=vminstall.msg.virtual_disk, modifier=prompt) set_text('graphics_hw_help') set_text('graphics_note_none', modifier=small, markup=True) set_text('graphics_note_para', modifier=small, markup=True) @@ -470,6 +473,8 @@ if self.defaults.install: self._set_summary_title(title, vminstall.msg.title_os_install) src = strify(self.defaults.source) + if self.defaults.pxe_boot: + src = vminstall.msg.PXE_boot self.summary.get_widget("summary-install-source").set_text(src) show_row(src_row) if self.defaults.full_virt: @@ -583,12 +588,16 @@ self.src_disks = vmdisks.get_fv_boot_disks(self.defaults.disks) src_desc = [str(disk) for disk in self.src_disks] set_combo_from_list(combo, src_desc) + source = self.defaults.source if len(self.src_disks): - source = self.defaults.source if type(source) is vmdisks.Disk and source in self.src_disks: combo.set_active(self.src_disks.index(source)) else: combo.set_active(0) + if self.options.pxe_boot: + self.window.get_widget('fv-src-pxe').set_active(True) + else: + self.window.get_widget('fv-src-disk').set_active(True) elif page_number == self.pages['pv_install']: combo = self.window.get_widget('pv-src-disk-box') self.src_disks = filter(lambda disk: disk.exists(), self.defaults.disks) @@ -924,6 +933,9 @@ gjob.connect('install-done', do_done) gjob.start() + def activate_fv_pxe_src(self, ignore1=None, ignore2=None): + self.window.get_widget('fv-src-pxe').activate() + def activate_pv_network_src(self, ignore1=None, ignore2=None): self.window.get_widget('pv-src-network').activate() @@ -937,6 +949,14 @@ self.os_settings_folder = folder self.window.get_widget('os-settings').set_text(file) + def change_fv_media_type(self, ignore=None): + if self.window.get_widget("fv-src-disk").get_active(): + self.window.get_widget("fv-src-disk-box").set_sensitive(True) + self.window.get_widget("fv-src-disk-add").set_sensitive(True) + elif self.window.get_widget("fv-src-pxe").get_active(): + self.window.get_widget("fv-src-disk-box").set_sensitive(False) + self.window.get_widget("fv-src-disk-add").set_sensitive(False) + def change_pv_media_type(self, ignore=None): if self.window.get_widget("pv-src-disk").get_active(): self.window.get_widget("pv-src-disk-box").set_sensitive(True) @@ -1090,10 +1110,14 @@ self.notebook.set_current_page(self.pages['nics']) return None elif page_num == self.pages['fv_install']: - i = self.window.get_widget('fv-src-disk-box').get_active() - if i < 0: - raise vminstall.DiskResourceError(vminstall.DiskResourceError.E_NOT_FOUND) - self.options.source = self.src_disks[i] + if self.window.get_widget('fv-src-disk').get_active(): + i = self.window.get_widget('fv-src-disk-box').get_active() + if i < 0: + raise vminstall.DiskResourceError(vminstall.DiskResourceError.E_NOT_FOUND) + self.options.source = self.src_disks[i] + self.options.pxe_boot = 0 + else: + self.options.pxe_boot = 1 elif page_num == self.pages['pv_install']: if self.window.get_widget('pv-src-disk').get_active(): i = self.window.get_widget('pv-src-disk-box').get_active() diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/src/vminstall/msg.py new/vm-install-0.2.3/src/vminstall/msg.py --- old/vm-install-0.2.2/src/vminstall/msg.py 2007-10-18 23:46:38.000000000 +0200 +++ new/vm-install-0.2.3/src/vminstall/msg.py 2008-01-18 19:56:50.000000000 +0100 @@ -211,12 +211,14 @@ # Disks virtual_disk = _("Virtual Disk") virtual_disks = _("Virtual Disks") +PXE_boot = _("PXE Boot") size_gb = _("Size (GB)") create_sparse = _("Create Sparse Image File") read_only = _("Read-Only Access") type_hard_disk = _("Hard Disk") type_cdrom = _("CD-ROM or DVD") type_floppy = _("Floppy Disk") +type_pxe = _("PXE") # Network nic_pcnet = _("Fully Virtualized AMD PCnet 32") diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/src/vminstall/nics.py new/vm-install-0.2.3/src/vminstall/nics.py --- old/vm-install-0.2.2/src/vminstall/nics.py 2007-10-18 23:46:38.000000000 +0200 +++ new/vm-install-0.2.3/src/vminstall/nics.py 2008-01-29 22:13:33.000000000 +0100 @@ -36,6 +36,8 @@ return bridges def parse_string(nic): + if nic == "": + return XenNic() params = nic.split(',') mac = None bridge = None @@ -48,7 +50,7 @@ elif p.startswith('model='): model = p[6:] else: - raise ParamError(err=ParamError.E_INVALID, details=item) + raise ParamError(err=ParamError.E_INVALID, details=p) return XenNic(mac=mac, bridge=bridge, model=model) class XenNic(object): diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/src/vminstall/options.py new/vm-install-0.2.3/src/vminstall/options.py --- old/vm-install-0.2.2/src/vminstall/options.py 2008-01-02 17:23:45.000000000 +0100 +++ new/vm-install-0.2.3/src/vminstall/options.py 2008-01-18 23:57:34.000000000 +0100 @@ -59,6 +59,7 @@ 'vcpus', 'vnc_password', 'vncport', + 'pxe_boot', ) dict.__init__(self, dict(map(lambda k: (k, None), default_keys))) self.__initialized = True @@ -183,6 +184,9 @@ elif item == 'vcpus': check_type(value, (int, float)) value = int(value) + if item == 'pxe_boot': + check_type(value, (int, bool)) + value = bool(value) self.__dict__[item] = value @@ -446,6 +450,11 @@ # Now give the OS a chance to voice its opinion: vmdefaults.actions().preprocessOptions(defaults) + if options.pxe_boot: + defaults.pxe_boot = options.pxe_boot + else: + defaults.pxe_boot = False + log.debug("end recalculation") def finalize(options): @@ -490,7 +499,7 @@ if disk._vdevType == vmdisks.Disk.DEVICE_CDROM: cdrom = disk break - if cdrom is None: + if cdrom is None and options.pxe_boot is False: log.debug("validation failed: No CDROM found for FV VM") raise InstSrcError(err=InstSrcError.E_CDROM) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/src/vminstall/svn-commit.tmp new/vm-install-0.2.3/src/vminstall/svn-commit.tmp --- old/vm-install-0.2.2/src/vminstall/svn-commit.tmp 1970-01-01 01:00:00.000000000 +0100 +++ new/vm-install-0.2.3/src/vminstall/svn-commit.tmp 2007-10-18 23:48:18.000000000 +0200 @@ -0,0 +1,6 @@ +Bug 334933 - SLES 9 virtualization mode should default +to paravirtualization with sles9sp4. + +--This line, and those below, will be ignored-- + +M VMDefaults.py diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/src/vminstall/text/interface.py new/vm-install-0.2.3/src/vminstall/text/interface.py --- old/vm-install-0.2.2/src/vminstall/text/interface.py 2007-09-18 21:48:01.000000000 +0200 +++ new/vm-install-0.2.3/src/vminstall/text/interface.py 2008-01-29 22:13:58.000000000 +0100 @@ -309,7 +309,7 @@ default = '%s%s/%s' % (vminstall.paths.imagedir, options.name, virtual_disks[len(options.disks)]) path = prompt_string('', default) - sizeMB = None + sizeMB = 0 if not os.path.exists(os.path.abspath(path)): default_sizeGB = None if default_disk: diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.2/src/vminstall/VMDefaults.py new/vm-install-0.2.3/src/vminstall/VMDefaults.py --- old/vm-install-0.2.2/src/vminstall/VMDefaults.py 2008-01-12 01:03:11.000000000 +0100 +++ new/vm-install-0.2.3/src/vminstall/VMDefaults.py 2008-02-01 19:38:22.000000000 +0100 @@ -54,8 +54,10 @@ return Disk(pdev=None, vdev=num, blocks=sizeGB*1024*1024*2, vdevType=Disk.DEVICE_DISK) def _cdrom_template(self, num): return Disk(pdev=None, vdev=num, vdevType=Disk.DEVICE_CDROM) + def _disk_size(self): + return 4 def disks(self): - return [ self._disk_template(0, 4) ] + return [ self._disk_template(0, self._disk_size()) ] def nics(self): return [ XenNic() ] def localtime(self): @@ -66,6 +68,8 @@ return None def num_vcpus(self): return 1 + def boot_pxe(self): + return False class LinuxDefaults(GenericDefaults): def xterm_args(self): @@ -104,6 +108,9 @@ return msg.rhel3 def virt_support(self): return ('hvm') + def apic(self): + # RHEL3 64bit needs this. Slows down 32bit:( + return True def max_cpus(self): return 16 def min_memory(self): @@ -121,8 +128,10 @@ return 256 def max_memory(self): return 16*1024 + def _disk_size(self): + return 8 def disks(self): - return [ self._disk_template(0, 8) ] + return [ self._disk_template(0, self._disk_size()) ] def num_vcpus(self): return caps.vcpu_processors(4); @@ -133,8 +142,10 @@ return 256 def max_memory(self): return 16*1024 + def _disk_size(self): + return 8 def disks(self): - return [ self._disk_template(0, 8) ] + return [ self._disk_template(0, self._disk_size()) ] def num_vcpus(self): return caps.vcpu_processors(4); @@ -162,8 +173,10 @@ return msg.opensuse def default_memory(self): return 384 + def _disk_size(self): + return 8 def disks(self): - return [ self._disk_template(0, 8) ] + return [ self._disk_template(0, self._disk_size()) ] class SLED10Defaults(SUSEDefaults): def name(self): @@ -233,9 +246,11 @@ return 512 def default_memory(self): return 512 - def disks(self): + def _disk_size(self): # Docs say minimum 6, recommended 10 - return [ self._disk_template(0, 10) ] + return 10 + def disks(self): + return [ self._disk_template(0, self._disk_size()) ] class NOES2LDefaults(SUSEDefaults): def name(self): @@ -244,9 +259,11 @@ return 512 def default_memory(self): return 512 - def disks(self): + def _disk_size(self): # Docs say minimum 6, recommended 10 - return [ self._disk_template(0, 10) ] + return 10 + def disks(self): + return [ self._disk_template(0, self._disk_size()) ] def num_vcpus(self): return caps.vcpu_processors(4); @@ -259,8 +276,10 @@ return VMWindows() def localtime(self): return True + def _disk_size(self): + return 8 def disks(self): - return [ self._disk_template(0, 8) ] + return [ self._disk_template(0, self._disk_size()) ] def min_memory(self): return 64 def default_memory(self): @@ -269,7 +288,7 @@ def name(self): return msg.windows_nt def disks(self): - return [ self._disk_template(0, 4) ] + return [ self._disk_template(0, self._disk_size()) ] def min_memory(self): return 16 def default_memory(self): @@ -309,8 +328,10 @@ return 512 def default_memory(self): return 1024 + def _disk_size(self): + return 20 def disks(self): - return [ self._disk_template(0, 20) ] + return [ self._disk_template(0, self._disk_size()) ] def num_vcpus(self): return caps.vcpu_processors(2); class WindowsVistax64Defaults(WindowsVistaDefaults): @@ -328,8 +349,10 @@ return 512 def default_memory(self): return 1024 + def _disk_size(self): + return 40 def disks(self): - return [ self._disk_template(0, 40) ] + return [ self._disk_template(0, self._disk_size()) ] def enlightened(): return True def num_vcpus(self): ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org