commit vm-install for openSUSE:Factory
Hello community, here is the log from the commit of package vm-install for openSUSE:Factory checked in at Mon Mar 1 01:50:38 CET 2010. -------- --- vm-install/vm-install.changes 2010-02-06 00:39:19.000000000 +0100 +++ /mounts/work_src_done/STABLE/vm-install/vm-install.changes 2010-02-26 19:08:48.000000000 +0100 @@ -1,0 +2,28 @@ +Wed Feb 24 13:58:26 MST 2010 - carnold@novell.com + +- bnc#582608 - virt-manager/vm-install doesn't allow to setup + virtio devices for kvm + +------------------------------------------------------------------- +Mon Feb 22 15:29:54 MST 2010 - carnold@novell.com + +- bnc#574657 - libvirt always output error message when installing + a KVM guest OS using virt-manager or vm-install although the + installation is successful + +------------------------------------------------------------------- +Mon Feb 22 14:33:04 MST 2010 - carnold@novell.com + +- Include a default file extension for disk images. + +------------------------------------------------------------------- +Tue Feb 16 14:07:50 MST 2010 - carnold@novell.com + +- bnc#580183 - vm-install: some semantic errors found by pylint + +------------------------------------------------------------------- +Mon Feb 8 09:40:54 MST 2010 - carnold@novell.com + +- bnc#577862 - list index out of range, if no disks are specified. + +------------------------------------------------------------------- @@ -171 +199 @@ -Thu Jul 30 17:18:06 MDT 2009 - carnold@novell.com +Thu Jul 30 17:16:47 MDT 2009 - carnold@novell.com @@ -173 +201 @@ -- bnc#526855 - Cannot set MAC address for PV guest in vm-install +- bnc#526885 - Cannot set MAC address for PV guest in vm-install @@ -176 +204 @@ -Thu Jul 30 08:38:06 MDT 2009 - carnold@novell.com +Thu Jul 30 08:35:47 MDT 2009 - carnold@novell.com @@ -181,7 +209 @@ -Wed Jul 29 13:45:54 MDT 2009 - carnold@novell.com - -- fate#306125: Virtual machines are not able to boot from CD to - allow upgrade to OES2SP1 - -------------------------------------------------------------------- -Fri Jul 17 10:00:20 MDT 2009 - carnold@novell.com +Fri Jul 17 09:50:01 MDT 2009 - carnold@novell.com @@ -198 +220 @@ -Tue Jun 2 15:53:36 MDT 2009 - carnold@novell.com +Tue Jun 2 10:16:45 MDT 2009 - carnold@novell.com @@ -203 +225 @@ -Tue May 12 15:54:01 MDT 2009 - carnold@novell.com +Tue May 12 15:09:17 MDT 2009 - carnold@novell.com @@ -209 +231 @@ -Thu Apr 30 17:27:52 MDT 2009 - carnold@novell.com +Mon May 4 15:31:16 MDT 2009 - carnold@novell.com @@ -211 +233,2 @@ -- Improved KVM support. +- bnc#499052 - installing an HVM SLES 10 SP2 VM with one nic gives + you two identical network cards. @@ -214 +237 @@ -Mon Mar 27 15:01:18 MDT 2009 - carnold@novell.com +Mon Mar 27 14:57:18 MDT 2009 - carnold@novell.com @@ -220 +243,31 @@ -Fri Mar 27 11:34:25 MDT 2009 - carnold@novell.com +Mon Mar 23 11:39:48 MDT 2009 - carnold@novell.com + +- bnc#487667 - SLES 11 Xen, RHEL 4 HVM guest has no mouse or + keyboard in GUI + +------------------------------------------------------------------- +Fri Mar 13 11:29:13 MDT 2009 - carnold@novell.com + +- bnc#412642 - vm-install: XEN full virtualization of NetWare 6.5 + SP6 not possible + +------------------------------------------------------------------- +Tue Mar 10 11:44:04 MDT 2009 - carnold@novell.com + +- bnc#483323 - Problems to configure section Installation of + operating system in vm-install (GUI version) for paravirtualized + system + +------------------------------------------------------------------- +Tue Mar 10 11:25:07 MDT 2009 - carnold@novell.com + +- bnc#473478 - mouse is disabled in sles 9 sp4 HVM guests + +------------------------------------------------------------------- +Tue Mar 10 09:56:09 MDT 2009 - carnold@novell.com + +- bnc#475826 - selecting virtual disk for install still defaults + back to PXE boot + +------------------------------------------------------------------- +Tue Mar 10 09:35:17 MDT 2009 - carnold@novell.com @@ -222 +275 @@ -- bnc#486824 – Xen OS install window error dialog message +- bnc#468567 - pv installs using network source duplicates the entry @@ -225 +278 @@ -Mon Mar 16 16:24:31 MDT 2009 - carnold@novell.com +Mon Mar 9 16:28:37 MDT 2009 - carnold@novell.com @@ -227,2 +280,2 @@ -- bnc#470971 - vm-install asks for samba password on console - (even for guest only samba shares) - Kong Wei patch +- bnc#468860 - XEN PXE boot of paravirtualized (pv) domU does not + work. Revised to support special sles installation media. calling whatdependson for head-i586 Old: ---- vm-install-0.4.18.tar.bz2 New: ---- vm-install-0.4.21.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vm-install.spec ++++++ --- /var/tmp/diff_new_pack.LwssY5/_old 2010-03-01 01:50:28.000000000 +0100 +++ /var/tmp/diff_new_pack.LwssY5/_new 2010-03-01 01:50:28.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package vm-install (Version 0.4.18) +# spec file for package vm-install (Version 0.4.21) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -26,13 +26,13 @@ License: GPLv2+ Group: System/Emulators/PC AutoReqProv: yes -Version: 0.4.18 +Version: 0.4.21 Release: 1 Summary: Tool to Define a Virtual Machine and Install Its Operating System -Source0: %{name}-0.4.18.tar.bz2 +Source0: %{name}-0.4.21.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 x86_64 -Requires: libvirt python-urlgrabber libxml2-python libvirt-python udhcp tftp +Requires: libvirt python-urlgrabber libxml2-python libvirt-python virt-utils udhcp tftp %define pysite %(python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()") %description ++++++ vm-install-0.4.18.tar.bz2 -> vm-install-0.4.21.tar.bz2 ++++++ ++++ 1812 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/Makefile new/vm-install-0.4.21/Makefile --- old/vm-install-0.4.18/Makefile 2010-01-25 21:55:24.000000000 +0100 +++ new/vm-install-0.4.21/Makefile 2010-02-25 00:31:00.000000000 +0100 @@ -1,5 +1,5 @@ PACKAGE = vm-install -VER = 0.4.18 +VER = 0.4.21 default: @echo "Run 'make install DESTDIR=$destdir' to install." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/bin/vm-install new/vm-install-0.4.21/bin/vm-install --- old/vm-install-0.4.18/bin/vm-install 2010-01-07 19:48:30.000000000 +0100 +++ new/vm-install-0.4.21/bin/vm-install 2010-02-25 00:30:59.000000000 +0100 @@ -79,7 +79,7 @@ vminstall.advanced.parse_string(parser.values, value) def setConnection(option, opt_str, value, parser): - connection = vminstall.xen_hypervisor.parse_string(value) + connection = vminstall.libvirt_hypervisor.parse_string(value) if connection: parser.values.connect = connection diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/glade/vm-install.glade new/vm-install-0.4.21/glade/vm-install.glade --- old/vm-install-0.4.18/glade/vm-install.glade 2010-01-07 19:48:30.000000000 +0100 +++ new/vm-install-0.4.21/glade/vm-install.glade 2010-02-26 17:42:34.000000000 +0100 @@ -8612,6 +8612,26 @@ <property name="fill">False</property> </packing> </child> + + <child> + <widget class="GtkCheckButton" id="disk-virtio"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">ro</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> + <signal name="toggled" handler="on_disk_virtio_toggled" last_modification_time="Fri, 12 Jan 2007 20:39:21 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> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/ar.po new/vm-install-0.4.21/po/ar.po --- old/vm-install-0.4.18/po/ar.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/ar.po 2010-02-25 00:31:00.000000000 +0100 @@ -6,7 +6,7 @@ "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2010-02-03 07:42\n" +"PO-Revision-Date: 2010-02-17 08:53\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" "MIME-Version: 1.0\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/cs.po new/vm-install-0.4.21/po/cs.po --- old/vm-install-0.4.18/po/cs.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/cs.po 2010-02-25 00:31:00.000000000 +0100 @@ -6,7 +6,7 @@ "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2010-02-01 15:45\n" +"PO-Revision-Date: 2010-02-15 10:29\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" "MIME-Version: 1.0\n" @@ -172,7 +172,7 @@ #: src/vminstall/msg.py:76 msgid "An error occurred while reading the configuration file." -msgstr "Při čtení souboru konfigurace došlo k chybě." +msgstr "Při čtení konfiguračního souboru došlo k chybě." #: src/vminstall/msg.py:79 msgid "The operating system is incompatible with the processor architecture of this machine." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/de.po new/vm-install-0.4.21/po/de.po --- old/vm-install-0.4.18/po/de.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/de.po 2010-02-25 00:31:00.000000000 +0100 @@ -6,7 +6,7 @@ "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2010-02-04 11:01\n" +"PO-Revision-Date: 2010-02-16 11:14\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" "MIME-Version: 1.0\n" @@ -144,7 +144,7 @@ #: src/vminstall/msg.py:67 msgid "You must shutdown the VM before upgrading." -msgstr "Der virtuelle Computer muss vor der Aktualisierung heruntergefahren werden." +msgstr "Der virtuelle Computer muss vor der Aufrüstung heruntergefahren werden." #: src/vminstall/msg.py:70 msgid "The installation source is using an unsupported protocol." @@ -172,7 +172,7 @@ #: src/vminstall/msg.py:76 msgid "An error occurred while reading the configuration file." -msgstr "Beim Lesen der Konfigurationsdatei ist ein Fehler aufgetreten." +msgstr "Fehler beim Lesen der Konfigurationsdatei." #: src/vminstall/msg.py:79 msgid "The operating system is incompatible with the processor architecture of this machine." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/es.po new/vm-install-0.4.21/po/es.po --- old/vm-install-0.4.18/po/es.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/es.po 2010-02-25 00:31:00.000000000 +0100 @@ -6,7 +6,7 @@ "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2010-02-02 07:14\n" +"PO-Revision-Date: 2010-02-15 13:51\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" "MIME-Version: 1.0\n" @@ -468,7 +468,7 @@ #: src/vminstall/msg.py:168 msgid "Keymap" -msgstr "Teclado" +msgstr "Mapa de teclas" #: src/vminstall/msg.py:169 msgid "None" @@ -690,7 +690,7 @@ #: src/vminstall/msg.py:237 msgid "Please specify the keyboard translation map file." -msgstr "Especifique el archivo de asignación de traducción del teclado." +msgstr "Especifique el archivo de mapa de traducción del teclado." #: src/vminstall/msg.py:241 msgid "Virtual Disks" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/fr.po new/vm-install-0.4.21/po/fr.po --- old/vm-install-0.4.18/po/fr.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/fr.po 2010-02-25 00:31:00.000000000 +0100 @@ -6,7 +6,7 @@ "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2010-02-02 07:48\n" +"PO-Revision-Date: 2010-02-15 10:46\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" "MIME-Version: 1.0\n" @@ -468,7 +468,7 @@ #: src/vminstall/msg.py:168 msgid "Keymap" -msgstr "Keymap" +msgstr "Codage clavier" #: src/vminstall/msg.py:169 msgid "None" @@ -690,7 +690,7 @@ #: src/vminstall/msg.py:237 msgid "Please specify the keyboard translation map file." -msgstr "Veuillez spécifier le fichier de mappage de traduction du clavier." +msgstr "Veuillez spécifier le fichier de codage clavier." #: src/vminstall/msg.py:241 msgid "Virtual Disks" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/hu.po new/vm-install-0.4.21/po/hu.po --- old/vm-install-0.4.18/po/hu.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/hu.po 2010-02-25 00:31:00.000000000 +0100 @@ -4,19 +4,19 @@ # Copyright (C) YEAR Novell, Inc. # This file is distributed under the same license as the PACKAGE package. # -# Kalman Kemenczy <kkemenczy@novell.com>, 2007, 2008, 2009. +# Kalman Kemenczy <kkemenczy@novell.com>, 2007, 2008, 2009, 2010. msgid "" msgstr "" "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2009-10-10 13:19+0200\n" +"PO-Revision-Date: 2010-02-09 18:51+0100\n" "Last-Translator: Kalman Kemenczy <kkemenczy@novell.com>\n" -"Language-Team: Hungarian <hu@li.org>\n" +"Language-Team: Hungarian <kde-i18n-doc@kde.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" +"X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: src/vminstall/msg.py:22 @@ -29,7 +29,7 @@ #: src/vminstall/msg.py:24 msgid "Warning" -msgstr "" +msgstr "Figyelem" #: src/vminstall/msg.py:25 msgid "Aborted" @@ -240,15 +240,16 @@ msgstr "Nincs elegendő szabad terület az eszközön a lemezképhez." #: src/vminstall/msg.py:92 -#, fuzzy msgid "Create disk image failed." -msgstr "Ritka (sparse) lemezkép létrehozása" +msgstr "A lemezkép létrehozása nem sikerült." #: src/vminstall/msg.py:93 msgid "" "You are overcommitting the amount of disk space available on this device. " "Continue anyways?" msgstr "" +"Több lemezterületet foglalt le, mint amennyi az eszközön rendelkezésre áll. " +"Ennek ellenére folytatja?" #: src/vminstall/msg.py:96 msgid "The job was canceled." @@ -500,7 +501,7 @@ #: src/vminstall/msg.py:168 msgid "Keymap" -msgstr "" +msgstr "Billentyűzetkiosztás" #: src/vminstall/msg.py:169 msgid "None" @@ -516,15 +517,15 @@ #: src/vminstall/msg.py:172 msgid "Description" -msgstr "" +msgstr "Leírás" #: src/vminstall/msg.py:173 msgid "Enabled" -msgstr "" +msgstr "Engedélyezett" #: src/vminstall/msg.py:174 msgid "Option" -msgstr "" +msgstr "Opció" #: src/vminstall/msg.py:177 msgid "Create a Virtual Machine" @@ -556,7 +557,7 @@ #: src/vminstall/msg.py:184 msgid "Graphics and Keyboard" -msgstr "" +msgstr "Grafika és billentyűzet" #: src/vminstall/msg.py:185 msgid "Disks" @@ -588,7 +589,7 @@ #: src/vminstall/msg.py:192 msgid "Advanced Settings" -msgstr "" +msgstr "További beállítások" #: src/vminstall/msg.py:195 msgid "" @@ -757,10 +758,14 @@ "understand clearly the consequences of enabling or disabling a particular " "setting." msgstr "" +"Figyelem: Vm-install automatikusan kezeli ezeket a beállításokat a " +"telepített az operációs rendszertől függően. Bizonyosodjon meg arról, hogy " +"tisztában van az egyes beállítások engedélyezésével és letiltásával járó " +"következményekkel." #: src/vminstall/msg.py:222 msgid "Reset to Defaults" -msgstr "" +msgstr "Alapértékek visszaállítása" #: src/vminstall/msg.py:225 msgid "" @@ -817,9 +822,8 @@ msgstr "Grafikus támogatás nélkül" #: src/vminstall/msg.py:237 -#, fuzzy msgid "Please specify the keyboard translation map file." -msgstr "Adja meg a virtuális hálózati csatoló beállításait." +msgstr "Adja meg a billentyűzetkiosztási fájlt." #: src/vminstall/msg.py:241 msgid "Virtual Disks" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/it.po new/vm-install-0.4.21/po/it.po --- old/vm-install-0.4.18/po/it.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/it.po 2010-02-25 00:31:00.000000000 +0100 @@ -6,7 +6,7 @@ "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2010-02-03 13:32\n" +"PO-Revision-Date: 2010-02-15 15:04\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" "MIME-Version: 1.0\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/ja.po new/vm-install-0.4.21/po/ja.po --- old/vm-install-0.4.18/po/ja.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/ja.po 2010-02-25 00:31:00.000000000 +0100 @@ -6,7 +6,7 @@ "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2010-02-02 10:44\n" +"PO-Revision-Date: 2010-02-15 11:11\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" "MIME-Version: 1.0\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/nl.po new/vm-install-0.4.21/po/nl.po --- old/vm-install-0.4.18/po/nl.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/nl.po 2010-02-25 00:31:00.000000000 +0100 @@ -6,7 +6,7 @@ "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2010-02-01 15:17\n" +"PO-Revision-Date: 2010-02-15 12:19\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" "MIME-Version: 1.0\n" @@ -248,7 +248,7 @@ #: src/vminstall/msg.py:105 msgid "The operating system cannot be upgraded from this tool." -msgstr "Het besturingssysteem kan niet worden geüpgrade met dit hulpmiddel." +msgstr "Het besturingssysteem kan niet worden geüpgraded met dit hulpmiddel." #: src/vminstall/msg.py:108 msgid "NetWare" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/pl.po new/vm-install-0.4.21/po/pl.po --- old/vm-install-0.4.18/po/pl.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/pl.po 2010-02-25 00:31:00.000000000 +0100 @@ -6,7 +6,7 @@ "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2010-02-04 12:10\n" +"PO-Revision-Date: 2010-02-16 12:10\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" "MIME-Version: 1.0\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/pt_BR.po new/vm-install-0.4.21/po/pt_BR.po --- old/vm-install-0.4.18/po/pt_BR.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/pt_BR.po 2010-02-25 00:31:00.000000000 +0100 @@ -6,7 +6,7 @@ "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2010-02-02 08:19\n" +"PO-Revision-Date: 2010-02-15 13:26\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" "MIME-Version: 1.0\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/ru.po new/vm-install-0.4.21/po/ru.po --- old/vm-install-0.4.18/po/ru.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/ru.po 2010-02-25 00:31:00.000000000 +0100 @@ -6,7 +6,7 @@ "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2010-02-02 12:00\n" +"PO-Revision-Date: 2010-02-17 08:18\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" "MIME-Version: 1.0\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/sv.po new/vm-install-0.4.21/po/sv.po --- old/vm-install-0.4.18/po/sv.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/sv.po 2010-02-25 00:31:00.000000000 +0100 @@ -6,7 +6,7 @@ "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2010-02-02 11:19\n" +"PO-Revision-Date: 2010-02-15 14:08\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" "MIME-Version: 1.0\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/zh_CN.po new/vm-install-0.4.21/po/zh_CN.po --- old/vm-install-0.4.18/po/zh_CN.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/zh_CN.po 2010-02-25 00:31:00.000000000 +0100 @@ -6,7 +6,7 @@ "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2010-02-01 11:12\n" +"PO-Revision-Date: 2010-02-15 08:16\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" "MIME-Version: 1.0\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/po/zh_TW.po new/vm-install-0.4.21/po/zh_TW.po --- old/vm-install-0.4.18/po/zh_TW.po 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/po/zh_TW.po 2010-02-25 00:31:00.000000000 +0100 @@ -6,7 +6,7 @@ "Project-Id-Version: xen-vm-install\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-01-15 15:26-0700\n" -"PO-Revision-Date: 2010-02-01 11:44\n" +"PO-Revision-Date: 2010-02-15 09:32\n" "Last-Translator: Novell Language <language@novell.com>\n" "Language-Team: Novell Language <language@novell.com>\n" "MIME-Version: 1.0\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/setup.py new/vm-install-0.4.21/setup.py --- old/vm-install-0.4.18/setup.py 2010-01-25 21:55:24.000000000 +0100 +++ new/vm-install-0.4.21/setup.py 2010-02-25 00:31:00.000000000 +0100 @@ -1,7 +1,7 @@ from distutils.core import setup setup(name='vminstall', - version='0.4.18', + version='0.4.21', 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' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vmdisks/disks.py new/vm-install-0.4.21/src/vmdisks/disks.py --- old/vm-install-0.4.18/src/vmdisks/disks.py 2010-02-06 00:32:08.000000000 +0100 +++ new/vm-install-0.4.21/src/vmdisks/disks.py 2010-02-26 17:42:34.000000000 +0100 @@ -338,6 +338,40 @@ } kvm_disk_protocols = ["bochs:", "cloop:", "cow:", "dmg:", "file:", "nbd:", "parallels:", "phy:", "qcow:", "qcow2:", "raw:", "vmdk:", "vpc:", "vvfat:"] +protocol_file_extensions = { + 'file': "raw", + 'tap:aio': "raw", + 'raw': "raw", + 'tap:qcow2': "qcow2", + 'qcow2': "qcow2", + 'qcow': "qcow", + 'tap:vmdk': "vmdk", + 'vmdk': "vmdk", + 'tap:vhd': "vhd", + 'vpc': "vpc", + 'vvfat': "vfat", + 'dmg': "dmg", + 'cow': "cow", + 'bochs': "bchs", + 'cloop': "clp", + 'parallels': "par" +} + +file_extension_protocols = { + 'raw': ['file','tap:aio','raw'], + 'qcow2': ['tap:qcow2','qcow2'], + 'qcow': ['qcow'], + 'vmdk': ['tap:vmdk','vmdk'], + 'vhd': ['tap:vhd'], + 'vpc': ['vpc'], + 'vfat': ['vvfat'], + 'dmg': ['dmg'], + 'cow': ['cow'], + 'bchs': ['bochs'], + 'clp': ['cloop'], + 'par': ['parallels'] +} + def parse_string(disk, extended=False, blocks=None): """Parses a text representation of a disk, and returns such a disk object. @@ -484,6 +518,7 @@ self.set_virtual_size(blocks) self.set_ro(ro) self.args = args + self.set_virtio() if vminstall.caps.is_kvm() or vminstall.caps.is_qemu(): self._protocols = kvm_disk_protocols @@ -612,9 +647,10 @@ if os.path.exists(dpath): dsize = disk.driver.size(dpath) vsize = disk.get_virtual_size() - if dsize <= vsize: - blocks = vsize - dsize - requested_blocks += blocks + if dsize is not None and vsize is not None: + if dsize <= vsize: + blocks = vsize - dsize + requested_blocks += blocks continue fs = self._get_fs(disk.get_pdev()) if new_disk_fs == fs: @@ -695,14 +731,23 @@ if 'create' in dir(self.driver) and not self.driver.size(self.get_path()): self._blocks = blocks + def _get_image_extension(self): + ext_type = "" + p = self.get_proto() + if p in protocol_file_extensions: + ext_type = protocol_file_extensions[p] + ext_type = "." + ext_type + return ext_type + def _update_template_path(self): if self._template_lock: return num = -1 + ext = self._get_image_extension() while True: num += 1 used = False - path = os.path.join(vminstall.paths.imagedir, self.vmname, 'disk%d' % num) + path = os.path.join(vminstall.paths.imagedir, self.vmname, 'disk%d%s' % (num,ext)) if os.path.exists(path): continue for disk in self.disk_group: @@ -758,6 +803,14 @@ self._ro = ro ro = property(get_ro, set_ro) + def set_virtio(self): + if vminstall.caps.is_xen(): + self.virtio = False + else: + if self._vdevType == self.DEVICE_CDROM: + self.virtio = False + else: + self.virtio = True #--------------------------------------------------------------------------- # Class: Disk @@ -809,7 +862,7 @@ # </disk> # #--------------------------------------------------------------------------- - def get_xml_config(self): + def get_xml_config(self, virtio=False): opts = [] vals = self.driver.proto.split(':') # Driver protocol may have two parts, split it. @@ -894,7 +947,10 @@ # from the style of the device name. eg, a device named 'sda' will # typically be exported using a SCSI bus. # - opts.append("<target dev='%s'/>" % self.vdev) + if vminstall.caps.is_xen() or virtio is False: + opts.append("<target dev='%s'/>" % self.vdev) + else: + opts.append("<target dev='%s' bus='virtio'/>" % self.vdev) # # Readonly tag diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/ParaVirtGuest.py new/vm-install-0.4.21/src/vminstall/ParaVirtGuest.py --- old/vm-install-0.4.18/src/vminstall/ParaVirtGuest.py 2010-01-07 19:48:30.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/ParaVirtGuest.py 2010-02-25 00:30:59.000000000 +0100 @@ -23,6 +23,7 @@ import paths import util import vmdisks +import time def loopsetup(vdev): """Sets up the loop mapping for a disk image. @@ -223,7 +224,7 @@ finally: mounted_disk.unmount() else: - (_, kfn, ifn) = self._get_paravirt_images(vdev, partitions, copy=True, progress=progress) + (_, kfn, ifn) = self._get_paravirt_images(vdev, partitions, copy=True, progress=progress) finally: source.block_detach() else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/VMDefaults.py new/vm-install-0.4.21/src/vminstall/VMDefaults.py --- old/vm-install-0.4.18/src/vminstall/VMDefaults.py 2010-01-25 21:55:24.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/VMDefaults.py 2010-02-26 17:42:34.000000000 +0100 @@ -84,6 +84,9 @@ return False def usb(self): return False + def virtio(self): + # KVM only + return False class LinuxDefaults(GenericDefaults): def xterm_args(self): @@ -208,6 +211,8 @@ return [ self._disk_template(0, self._disk_size()) ] def supports_32nonpae(self): return False + def virtio(self): + return True class SLED10Defaults(SUSEDefaults): def name(self): @@ -230,6 +235,8 @@ return 16 def supports_32nonpae(self): return False + def virtio(self): + return True class SLES8Defaults(SUSEDefaults): def name(self): @@ -274,6 +281,8 @@ return True def supports_32nonpae(self): return False + def virtio(self): + return True class NetWareDefaults(GenericDefaults): def group(self): @@ -304,7 +313,7 @@ def name(self): return msg.oes2nw def virt_support(self): - return ('xen') + return ('xen') def min_memory(self): return 512 def default_memory(self): @@ -425,7 +434,7 @@ return 40 def disks(self): return [ self._disk_template(0, self._disk_size()) ] - def enlightened(): + def enlightened(self): return True def num_vcpus(self): return caps.vcpu_processors(4) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/VMPXE.py new/vm-install-0.4.21/src/vminstall/VMPXE.py --- old/vm-install-0.4.18/src/vminstall/VMPXE.py 2010-01-07 19:48:30.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/VMPXE.py 2010-02-25 00:30:59.000000000 +0100 @@ -146,25 +146,25 @@ for mediaroot in self._getMediaRoots(base, urlopen): #one of mediaroot is '.' so it is fine either for single-media sources for a in arches: - kfn = '/%s/boot/%s/vmlinuz-xen' % (mediaroot, a[0]) - ifn = '/%s/boot/%s/initrd-xen' % (mediaroot, a[0]) - log.debug("Checking for %s..." % (base+kfn)) - try: - kfd = urlopen(base + kfn) - except: - continue - self.kfn = util.copy_to_temp(kfd, prefix='kernel.', progress=lambda f:progress(0.1+f*0.45)) - kfd.close() - die_zero(self.kfn) - try: - ifd = urlopen(base + ifn) - except: - continue - 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) + kfn = '/%s/boot/%s/vmlinuz-xen' % (mediaroot, a[0]) + ifn = '/%s/boot/%s/initrd-xen' % (mediaroot, a[0]) + log.debug("Checking for %s..." % (base+kfn)) + try: + kfd = urlopen(base + kfn) + except: + continue + self.kfn = util.copy_to_temp(kfd, prefix='kernel.', progress=lambda f:progress(0.1+f*0.45)) + kfd.close() + die_zero(self.kfn) + try: + ifd = urlopen(base + ifn) + except: + continue + 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 grabber.URLGrabError, e: raise InstSrcError(urlgrabber=e.errno, details='%s\n%s' % (url, e.strerror)) @@ -237,7 +237,7 @@ #cmd="tftp 147.2.207.153 -c get "+ i #for test dlres[i]=commands.getstatusoutput(cmd) if not tftp_success (dlres[i]): - success=0 + success=0 if success == 1: self.kfn = vminstall.paths.imagedir+os.path.basename(kernel_list[options.pxe_label])+"."+str(os.getpid()) @@ -248,7 +248,7 @@ log.debug("Kernel provided by PXE is not xen-enabled.") os.unlink(self.kfn) os.unlink(self.ifn) - success=0; + success=0 if success == 1: log.debug("Using installation kernel/initrd provided by PXE: %s %s" % (self.kfn, self.ifn)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/VMRedHat.py new/vm-install-0.4.21/src/vminstall/VMRedHat.py --- old/vm-install-0.4.18/src/vminstall/VMRedHat.py 2010-01-07 19:48:30.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/VMRedHat.py 2010-02-25 00:30:59.000000000 +0100 @@ -17,6 +17,7 @@ import mount import msg import util +import os class VMRedHat(VMLinux): def _kernel(self, base): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/advanced.py new/vm-install-0.4.21/src/vminstall/advanced.py --- old/vm-install-0.4.18/src/vminstall/advanced.py 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/advanced.py 2010-02-26 17:42:34.000000000 +0100 @@ -52,6 +52,7 @@ 'apic': ['0', "Enable Advanced Programmable Interrupt Controller."], 'pae': ['1', "Enable Physical Address Extension."], 'usb': ['0', "Emulate Universal Serial Bus devices"], + 'virtio': ['0', "Enable Virtualization IO"], } # Parse command line data @@ -65,7 +66,7 @@ raise ParamError(err=ParamError.E_INVALID, details=p) if not value.isdigit() or int(value) != 0 and int(value) != 1: raise ParamError(err=ParamError.E_INVALID, details=p) - ok = set_advanced_state(opt, int(value), options) + (ok,state) = set_advanced_state(opt, int(value), options) if not ok: raise ParamError(err=ParamError.E_INVALID, details=p) @@ -164,6 +165,8 @@ current_state = defaults.vpt_align if (defaults.vpt_align is not None) else int(adv_args[arg][0]) elif arg == 'xen_platform_pci': current_state = defaults.xen_platform_pci if (defaults.xen_platform_pci is not None) else int(adv_args[arg][0]) + elif arg == 'virtio': + current_state = defaults.virtio if (defaults.virtio is not None) else int(adv_args[arg][0]) list.set_value(iter, 0, current_state) # Set a specific option based on the state @@ -172,10 +175,9 @@ options.acpi = state elif arg == 'apic': if vmdefaults: - options.apic = vmdefaults.apic() - else: - options.apic = state - if arg == 'blkif': + state = vmdefaults.apic() + options.apic = state + elif arg == 'blkif': options.blkif = state elif arg == 'extid': options.extid = state @@ -189,7 +191,7 @@ options.localtime = state elif arg == 'memory_sharing': options.memory_sharing = state - if arg == 'netif': + elif arg == 'netif': options.netif = state elif arg == 'monitor': options.monitor = state @@ -202,7 +204,7 @@ elif arg == 'pae': options.pae = state elif arg == 'pci_msitranslate': - options.pci_msitranslate = state + options.pci_msitranslate = state elif arg == 'pci_power_mgmt': options.pci_power_mgmt = state elif arg == 'sdl': @@ -213,7 +215,7 @@ options.suppress_spurious_page_faults = state elif arg == 'timer_mode': options.timer_mode = state - if arg == 'tpmif': + elif arg == 'tpmif': options.tpmif = state elif arg == 'usb': options.usb = state @@ -222,12 +224,16 @@ elif arg == 'vnc': options.vnc = state elif arg == 'vpt_align': - options.vpt_align = state + options.vpt_align = state elif arg == 'xen_platform_pci': options.xen_platform_pci = state + elif arg == 'virtio': + if vmdefaults: + state = vmdefaults.virtio() + options.virtio = state else: - return False - return True + return (False, state) + return (True, state) # Set the state of an option based on what was checked in the list def set_advanced_arg(list, item_offset, state, options): @@ -241,8 +247,10 @@ items.sort() i = 0 for arg in items: + if arg[0] == 'usb': + continue state = int(arg[1][0]) - set_advanced_state(arg[0], state, options, vmdefaults) + (ok, state) = set_advanced_state(arg[0], state, options, vmdefaults) iter = list.get_iter(i,) i = i + 1 list.set_value(iter, 0, state) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/caps.py new/vm-install-0.4.21/src/vminstall/caps.py --- old/vm-install-0.4.18/src/vminstall/caps.py 2010-01-07 19:48:30.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/caps.py 2010-02-25 00:30:59.000000000 +0100 @@ -41,7 +41,7 @@ return num_processors def vcpu_processors(max_vcpus): - cpus = cpu_processors(); + cpus = cpu_processors() if ( cpus > max_vcpus ): cpus = max_vcpus return cpus diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/graphics_adapter.py new/vm-install-0.4.21/src/vminstall/graphics_adapter.py --- old/vm-install-0.4.18/src/vminstall/graphics_adapter.py 2010-01-07 19:48:30.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/graphics_adapter.py 2010-02-25 00:30:59.000000000 +0100 @@ -108,8 +108,8 @@ # Initializes the class. #--------------------------------------------------------------------------- def __init__(self): - _FullyVirtualGraphicsAdapterList = ['cirrus','vesa'] - _ParaVirtualGraphicsAdapterList = ['para'] + self._FullyVirtualGraphicsAdapterList = ['cirrus', 'vesa'] + self._ParaVirtualGraphicsAdapterList = ['para'] # # Aways call the parent __init__ function after we @@ -155,7 +155,7 @@ # Initializes the class. #--------------------------------------------------------------------------- def __init__(self): - _FullyVirtualGraphicsAdapterList = ['cirrus','std','vmware'] + self._FullyVirtualGraphicsAdapterList = ['cirrus', 'std', 'vmware'] # # Aways call the parent __init__ function after we diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/gtk/disk_widgets.py new/vm-install-0.4.21/src/vminstall/gtk/disk_widgets.py --- old/vm-install-0.4.18/src/vminstall/gtk/disk_widgets.py 2010-01-07 19:48:29.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/gtk/disk_widgets.py 2010-02-26 17:42:34.000000000 +0100 @@ -18,6 +18,7 @@ from tree_view import * from chooser import * from vmdisks.disks import disk_protocols, kvm_disk_protocols +from vmdisks.disks import protocol_file_extensions, file_extension_protocols class DisksView(PyTreeView): def __init__(self, disks, renumber=True): @@ -70,7 +71,7 @@ self.disks_widget = self.glade.get_widget('disks') self.disks_widget.get_parent().remove(self.disks_widget) self.topwin.destroy() - + # Right now, set renumber based on allow_reorder; maybe later expose # a separate setting self.renumber = allow_reorder @@ -195,7 +196,7 @@ class DiskEditWidget: - def __init__(self): + def __init__(self, virtio=False): self.disk = None self.glade = gtk.glade.XML(vminstall.paths.gladedir + 'vm-install.glade', 'disk-edit-window') self.topwin = self.glade.get_widget('disk-edit-window') @@ -233,6 +234,9 @@ def set_radio_text(name, text=None, modifier=None, markup=False): widget = self.glade.get_widget(name).get_children()[0] vminstall.msg.set_text(name, widget, text, modifier, markup) + set_radio_text('disk-virtio', text=vminstall.msg.enable_virtio) + if vminstall.caps.is_xen() or virtio is False: + self.glade.get_widget('disk-virtio').hide_all() set_radio_text('disk-ro', text=vminstall.msg.read_only) set_radio_text('disk-sparse', text=vminstall.msg.create_sparse) set_text('disk_help') @@ -249,6 +253,7 @@ 'on_disk_gb_editing_done': self.disk_gb_editing_done, 'on_disk_sparse_toggled': self.disk_sparse_toggled, 'on_disk_ro_toggled': self.disk_ro_toggled, + 'on_disk_virtio_toggled': self.disk_virtio_toggled, 'on_disk_browse_clicked': self.browse_existing_disk, 'on_disk_new_clicked': self.browse_new_disk, }) @@ -299,6 +304,7 @@ self.disk_gb_editing_done() self.disk_sparse_toggled() self.disk_ro_toggled() + self.disk_virtio_toggled() self.disk.validate() return self.disk @@ -320,6 +326,22 @@ if update: self.refresh(canonicalize=False) + def update_file_extension(self, disk_image, new_proto): + new_proto = new_proto.rsplit(":", 1)[0] + ext = disk_image.rsplit(".", 1) + # Is there an extension on the image name? + if len(ext) > 1: + path = ext[0] + ext = ext[1] + # Check to see if the extension is one we recognize + if ext in file_extension_protocols: + p = file_extension_protocols[ext] + # Check to see if the extension matches the protocol + if new_proto not in p: + if new_proto in protocol_file_extensions: + disk_image = path + "." + protocol_file_extensions[new_proto] + return disk_image + def disk_protocol_changed(self, widget=None, update=True): if not widget: widget = self.glade.get_widget('disk-protocol') @@ -338,6 +360,7 @@ else: prottext += ":" text = disktext.replace(text, prottext, 1) + text = self.update_file_extension(text, prottext) self.disk.pdev = text self.refresh() except: @@ -366,6 +389,11 @@ widget = self.glade.get_widget('disk-ro') self.disk.ro = widget.get_active() + def disk_virtio_toggled(self, widget=None): + if not widget: + widget = self.glade.get_widget('disk-virtio') + self.disk.virtio = widget.get_active() + def refresh(self, canonicalize=True): button = self.glade.get_widget('disk-new-button') if (self.disk.vdevtype == vmdisks.Disk.DEVICE_DISK): @@ -408,6 +436,9 @@ widget = self.glade.get_widget('disk-ro') widget.set_active(self.disk.ro) widget.set_sensitive(self.disk._vdevType != vmdisks.Disk.DEVICE_CDROM) + widget = self.glade.get_widget('disk-virtio') + widget.set_active(self.disk.virtio) + widget.set_sensitive(self.disk._vdevType != vmdisks.Disk.DEVICE_CDROM) widget = self.glade.get_widget('disk-sparse') widget.set_active(not self.disk.args.has_key('sparse') or self.disk.args['sparse']) widget.set_sensitive(not exists and self.disk._vdevType != vmdisks.Disk.DEVICE_CDROM) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/gtk/interface.py new/vm-install-0.4.21/src/vminstall/gtk/interface.py --- old/vm-install-0.4.18/src/vminstall/gtk/interface.py 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/gtk/interface.py 2010-02-26 17:42:34.000000000 +0100 @@ -147,7 +147,7 @@ edit_fn=self.do_edit_disk, add_cdrom_fn=self.do_new_cdrom, add_harddisk_fn=self.do_new_harddisk) self.window.get_widget('disks-vbox').pack_end(self.disks_widget.get_widget()) - self.disk_edit_widget = DiskEditWidget() + self.disk_edit_widget = DiskEditWidget(VMDefaults[defaults.os_type].virtio()) self.window.get_widget('disk-edit-vbox').pack_end(self.disk_edit_widget.get_widget()) # Connect the button event with the method that handles the event. @@ -305,7 +305,7 @@ set_radio_text('os_install_yes') if caps.is_kvm() or caps.is_qemu(): self.window.get_widget('os_install_upgrade').hide_all() - self.window.get_widget('advanced-settings-button').hide_all() + #self.window.get_widget('advanced-settings-button').hide_all() else: set_radio_text('os_install_upgrade') set_radio_text('pv-src-disk', text=vminstall.msg.virtual_disk, modifier=prompt) @@ -440,7 +440,7 @@ def is_visible(self): if self.topwin.flags() & gtk.VISIBLE: - return True + return True return False def _set_summary_title(self, widget, text): @@ -500,6 +500,8 @@ disk.update(vmname=self.defaults.name) self.disk_edit_widget.set(disk) self.notebook.set_current_page(self.pages['disk']) + if not vminstall.caps.is_xen() and self.defaults.virtio is True: + self.disk_edit_widget.glade.get_widget('disk-virtio').show_all() return True def do_remove_disk(self, disk): @@ -513,6 +515,11 @@ return False self.current_disk_index = index self.disk_edit_widget.set(disk.copy()) + if vminstall.caps.is_xen() or self.defaults.virtio is False: + self.disk_edit_widget.glade.get_widget('disk-virtio').hide_all() + else: + self.disk_edit_widget.glade.get_widget('disk-virtio').show_all() + log.debug("Editing disk '%s'" % str(disk)) self.notebook.set_current_page(self.pages['disk']) return True @@ -1860,7 +1867,7 @@ self.options.smboptions = "user=%s,passwd=%s" % (smbuser,smbpasswd) self.defaults.smboptions = self.options.smboptions dialog.destroy() - log.debug("u:%s, p:%s", smbuser, smbpasswd); + log.debug("u:%s, p:%s", smbuser, smbpasswd) def run(job, options, defaults): gtk.gdk.threads_init() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/job.py new/vm-install-0.4.21/src/vminstall/job.py --- old/vm-install-0.4.18/src/vminstall/job.py 2010-01-07 19:48:30.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/job.py 2010-02-25 00:30:59.000000000 +0100 @@ -24,6 +24,8 @@ import paths import util import hypervisor +import xen_hypervisor +import libvirt_hypervisor import console class Job(object): @@ -430,8 +432,8 @@ _line = line[0:index] new = " (kernel " + self.guest.kernel + ")\n" if not ramdisk_found: - new = new + " (ramdisk " + self.guest.initrd + ")\n" - ramdisk_found = 1 + new = new + " (ramdisk " + self.guest.initrd + ")\n" + ramdisk_found = 1 _line = _line + new end = len(line) (index,found) = find_closing_brace(line, index, end) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/keytable.py new/vm-install-0.4.21/src/vminstall/keytable.py --- old/vm-install-0.4.18/src/vminstall/keytable.py 2010-01-07 19:48:30.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/keytable.py 2010-02-25 00:30:59.000000000 +0100 @@ -18,6 +18,7 @@ import caps import os import re +from log import log # keytable_name_from_dom0:keymap_name_to_Xen keytable = { @@ -75,7 +76,7 @@ try: f = open(KEYBOARD_DIR, "r") except IOError, e: - logging.debug('Could not open "/etc/sysconfig/keyboard" ' + str(e)) + log.debug('Could not open "/etc/sysconfig/keyboard" ' + str(e)) else: while 1: s = f.readline() @@ -83,13 +84,13 @@ break s = re.sub("\s+", "", s) if re.search('^KEYTABLE=\".*\"$', s) != None: - kt = s.split('"')[1] - if ".map.gz" in kt: - kt = kt.rstrip(".map.gz") - if keytable.has_key(kt): - keymap = keytable[kt] + kt = s.split('"')[1] + if ".map.gz" in kt: + kt = kt.rstrip(".map.gz") + if keytable.has_key(kt): + keymap = keytable[kt] f.close - return keymap; + return keymap def read_keymaps(): if caps.is_xen(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/kvm_guest.py new/vm-install-0.4.21/src/vminstall/kvm_guest.py --- old/vm-install-0.4.18/src/vminstall/kvm_guest.py 2010-01-21 19:05:56.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/kvm_guest.py 2010-02-26 17:42:34.000000000 +0100 @@ -69,7 +69,8 @@ """Get the disk config in the libvirt XML format""" ret = [] for disk in self.options.disks + self.tmpdisks: - ret.extend(disk.get_xml_config()) + use_virtio = self.options.virtio and disk.virtio + ret.extend(disk.get_xml_config(use_virtio)) return ret def _get_network_xml(self): @@ -97,7 +98,7 @@ ret = [] keymap = keytable.get_keymap(self.options.keymap) if keymap != None: - ret = ['<keymap>%s</keymap>' % keymap] + ret = ['<keymap>%s</keymap>' % keymap] return ret def _get_input_xml(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/libvirt_hypervisor.py new/vm-install-0.4.21/src/vminstall/libvirt_hypervisor.py --- old/vm-install-0.4.18/src/vminstall/libvirt_hypervisor.py 2010-01-25 21:55:24.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/libvirt_hypervisor.py 2010-02-25 00:30:59.000000000 +0100 @@ -14,17 +14,24 @@ ################################################################################ from hypervisor import Hypervisor +from exceptions import ParamError from log import log import libvirt import caps +import time #--------------------------------------------------------------------------- # Method: libvirt_error_handler # Global handler to suppress the noise from libvirt #--------------------------------------------------------------------------- def libvirt_error_handler(ctx, err): - log.debug('Error: Libvirt - %s' % err) + if err is not None: + log.debug('Error: Libvirt - %s' % err) +def parse_string(uri): + if uri.startswith("xen") or uri.startswith("qemu") or uri.startswith("test"): + return LibVirtHypervisor(uri) + raise ParamError(err=ParamError.E_INVALID, details=uri) ################################################################################ # Class: LibVirtHypervisor @@ -58,12 +65,13 @@ # Method: delete #--------------------------------------------------------------------------- def delete(self, domid): - """Destroys a running instance; erases from xend""" + """Destroys a running instance; erases from libvirt""" try: if self.virDom is None: self.virDom = self.lookup(domid) domInfo = self.virDom.info() self.virDom.destroy() + self.virDom.undefine() except: pass @@ -83,7 +91,7 @@ # Method: destroy #--------------------------------------------------------------------------- def destroy(self, domid): - """Destroys a running instance; does not erase from xend""" + """Destroys a running instance; does not erase from libvirt""" try: if self.virDom is None: self.virDom = self.lookup(domid) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/msg.py new/vm-install-0.4.21/src/vminstall/msg.py --- old/vm-install-0.4.18/src/vminstall/msg.py 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/msg.py 2010-02-26 17:42:34.000000000 +0100 @@ -220,7 +220,7 @@ cli_exit_help = _("Press \'q\' or the Escape key to exit.") advanced_help = _("Warning: Vm-install automatically manages these configuration settings depending on the operating system to be installed. It is expected that you understand clearly the consequences of enabling or disabling a particular setting.") advanced_reset = _("Reset to Defaults") -maximum_memory_warning = _("Setting the Maximum Memory value greater than the Initial Memory value requires the VM operating system to have a memory balloon driver.") +maximum_memory_warning = _("Setting the maximum memory greater than the initial memory requires the VM operating system to have a memory balloon driver.") # Processors hardware_help = _("Specify the amount of memory and number of processors to allocate for the VM.") @@ -244,6 +244,7 @@ size_gb = _("Size (GB)") create_sparse = _("Create Sparse Image File") read_only = _("Read-Only Access") +enable_virtio = _("Enable Virtualization IO") type_hard_disk = _("Hard Disk") type_cdrom = _("CD-ROM or DVD") type_floppy = _("Floppy Disk") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/options.py new/vm-install-0.4.21/src/vminstall/options.py --- old/vm-install-0.4.18/src/vminstall/options.py 2010-02-06 00:32:09.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/options.py 2010-02-25 00:30:59.000000000 +0100 @@ -257,14 +257,11 @@ if not os.path.exists(value): bad() elif item == 'connect': - if not caps.is_xen(): - import libvirt_hypervisor - if not isinstance(value, libvirt_hypervisor.LibVirtHypervisor): - bad() - else: - import xen_hypervisor - if not isinstance(value, xen_hypervisor.Xend): - bad() + import libvirt_hypervisor + import xen_hypervisor + if not isinstance(value, libvirt_hypervisor.LibVirtHypervisor) and \ + not isinstance(value, xen_hypervisor.Xend): + bad() elif item == 'acpi' or item == 'extid' or item == 'blkif' or \ item == 'hap' or item == 'hpet' or item == 'isa' or \ item == 'localtime' or item == 'memory_sharing' or \ @@ -274,7 +271,7 @@ item == 'sdl' or item == 'superpages' or \ item == 'suppress_spurious_page_faults' or item == 'timer_mode' or \ item == 'tpmif' or item == 'viridian' or item == 'vnc' or \ - item == 'vpt_align' or item == 'xen_platform_pci': + item == 'vpt_align' or item == 'xen_platform_pci' or item == 'virtio': check_type(value, (int, bool)) value = bool(value) self.__dict__[item] = value @@ -363,20 +360,18 @@ log.debug("start recalculation") # connect needs to be first - - if options.connect: + if options.connect or not caps.is_xen(): + # NOTE: This is the path for KVM or xen using libvirt instead of the xend APIs + if not options.connect: + import libvirt_hypervisor + options.connect = libvirt_hypervisor.LibVirtHypervisor("qemu:///system") + options.use_libvirt = True defaults.connect = options.connect options.use_libvirt = True else: - if not caps.is_xen(): - # NOTE: the KVM path is coming through here! Yea! - import libvirt_hypervisor - defaults.connect = libvirt_hypervisor.LibVirtHypervisor("qemu:///system") - options.use_libvirt = True - else: - import xen_hypervisor - defaults.connect = xen_hypervisor.Xend(None) - options.use_libvirt = False + import xen_hypervisor + defaults.connect = xen_hypervisor.Xend(None) + options.use_libvirt = False hypervisor.connection = defaults.connect old_os_type = defaults.os_type @@ -404,13 +399,13 @@ options.install = OS_INSTALL_NO if options.install is None: - if options.upgrade: - defaults.install = OS_INSTALL_UPGRADE - else: - defaults.install = OS_INSTALL_YES - options.install = defaults.install + if options.upgrade: + defaults.install = OS_INSTALL_UPGRADE + else: + defaults.install = OS_INSTALL_YES + options.install = defaults.install else: - defaults.install = options.install + defaults.install = options.install if options.upgrade_managed_vm: defaults.upgrade_managed_vm = options.upgrade_managed_vm @@ -434,8 +429,9 @@ defaults.upgrade_managed_vm = True if options.name: - defaults.name = options.name - else: + if defaults.name != options.name: + defaults.name = options.name + elif defaults.name is None or old_os_type != defaults.os_type: i = 0 while True: name = defaults.os_type @@ -584,9 +580,9 @@ disks[i].pdev == disks[j].pdev): raise DiskResourceError(err=DiskResourceError.E_CONFLICT, details='%s\n%s' % (disks[i], disks[j])) - defaults.disks.sort(lambda d1,d2: cmp(d1.vdev, d2.vdev)) - if not defaults.disks[0].args.has_key('sparse'): - defaults.disks[0].args['sparse'] = True + defaults.disks.sort(lambda d1,d2: cmp(d1.vdev, d2.vdev)) + if not defaults.disks[0].args.has_key('sparse'): + defaults.disks[0].args['sparse'] = True if options.nics is not None: defaults.nics = options.nics @@ -679,7 +675,7 @@ defaults._runtime_args = vmdefaults.actions().getRuntimeArgs(defaults) if options._runtime_args: defaults._runtime_args += ' %s' % options._runtime_args - + if options.config_dir: defaults.config_dir = options.config_dir else: @@ -689,7 +685,7 @@ defaults.smboptions = options.smboptions # Advanced options shared - if options.apic: + if options.apic is not None: defaults.apic = options.apic else: defaults.apic = vmdefaults.apic() @@ -705,7 +701,7 @@ defaults.extid = options.extid defaults.hap = options.hap defaults.hpet = options.hpet - if options.hpet: + if options.hpet is not None: defaults.hpet = options.hpet else: defaults.hpet = vmdefaults.hpet() @@ -728,6 +724,11 @@ defaults.vnc = options.vnc defaults.vpt_align = options.vpt_align defaults.xen_platform_pci = options.xen_platform_pci + else: + if options.virtio is not None: + defaults.virtio = options.virtio + else: + defaults.virtio = vmdefaults.virtio() # Now give the OS a chance to voice its opinion: vmdefaults.actions().preprocessOptions(defaults) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/text/interface.py new/vm-install-0.4.21/src/vminstall/text/interface.py --- old/vm-install-0.4.18/src/vminstall/text/interface.py 2010-01-25 21:55:23.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/text/interface.py 2010-02-09 00:03:33.000000000 +0100 @@ -276,6 +276,8 @@ if not options.max_memoryMB: get_num(vminstall.msg.max_memory_prompt, options.memoryMB, max_memory, options.memoryMB, 'max_memoryMB') + if options.max_memoryMB > options.memoryMB: + output_wrap(vminstall.msg.warning + ': ' + vminstall.msg.maximum_memory_warning + '\n') if not options.vcpus: get_num(vminstall.msg.vcpus_prompt, 1, vmdefaults.max_cpus(), defaults.vcpus, 'vcpus') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/xen_guest.py new/vm-install-0.4.21/src/vminstall/xen_guest.py --- old/vm-install-0.4.18/src/vminstall/xen_guest.py 2010-01-07 19:48:30.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/xen_guest.py 2010-02-25 00:30:59.000000000 +0100 @@ -223,14 +223,14 @@ ret = [] keymap = keytable.get_keymap(self.options.keymap) if keymap != None: - ret = ['<keymap>%s</keymap>' % keymap] + ret = ['<keymap>%s</keymap>' % keymap] return ret def _get_keymap_xen(self): ret = '' keymap = keytable.get_keymap(self.options.keymap) if keymap != None: - ret = "keymap=\"%s\"\n" %(keymap) + ret = "keymap=\"%s\"\n" %(keymap) return ret def _get_graphics_xml(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vm-install-0.4.18/src/vminstall/xen_hypervisor.py new/vm-install-0.4.21/src/vminstall/xen_hypervisor.py --- old/vm-install-0.4.18/src/vminstall/xen_hypervisor.py 2010-01-07 19:48:30.000000000 +0100 +++ new/vm-install-0.4.21/src/vminstall/xen_hypervisor.py 2010-02-25 00:30:59.000000000 +0100 @@ -16,15 +16,22 @@ ################################################################################ import time -from xen.xend import XendOptions +try: + from xen.xend import XendOptions +except: + pass from hypervisor import Hypervisor +from exceptions import ParamError try: # Xen 3.1+ from xen.util.xmlrpcclient import ServerProxy except: - # Xen 3.0.4 and older - from xen.util.xmlrpclib2 import ServerProxy + try: + # Xen 3.0.4 and older + from xen.util.xmlrpclib2 import ServerProxy + except: + pass def parse_string(uri): if not uri.startswith("xen") and not uri.startswith("qemu"): @@ -54,6 +61,7 @@ self.uri = 'httpu://%s' % Xend.XML_RPC_SOCKET self.server = ServerProxy(self.uri) self.use_libvirt = False + self.virDom = None #--------------------------------------------------------------------------- @@ -62,10 +70,7 @@ def delete(self, domid): """Destroys a running instance; erases from xend""" try: - if self.virDom is None: - self.virDom = self.lookup(domid) - domInfo = self.virDom.info() - self.virDom.destroy() + self.server.xend.domain.delete(domid) except: pass @@ -127,20 +132,15 @@ domain = self.domain(domid) if not domain: return False - if self.use_libvirt is False: - wait = False - for d in domain: - if type(d) == list and len(d) > 1 and d[0] == 'state': - if len(d[1]) > 1 and not 'p' in d[1]: - return True - time.sleep(1.0) - wait = True - break - if not wait: + wait = False + for d in domain: + if type(d) == list and len(d) > 1 and d[0] == 'state': + if len(d[1]) > 1 and not 'p' in d[1]: + return True + time.sleep(1.0) + wait = True break - else: - domInfo = domain.info() - if domInfo[0] == 0 or domInfo[0] == 1: - return True + if not wait: + break return False ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de