Hello community, here is the log from the commit of package vm-install for openSUSE:Factory checked in at 2014-02-06 07:00:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vm-install (Old) and /work/SRC/openSUSE:Factory/.vm-install.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vm-install" Changes: -------- --- /work/SRC/openSUSE:Factory/vm-install/vm-install.changes 2014-01-28 12:03:59.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.vm-install.new/vm-install.changes 2014-02-06 07:00:38.000000000 +0100 @@ -1,0 +2,8 @@ +Wed Jan 27 14:58:58 MST 2014 - [email protected] + +- Various fixes when the --use-xl flag is used for creating VMs +- Make Requires for qemu-tools vs virt-utils conditional based on + build target +- Version 0.8.3 + +------------------------------------------------------------------- Old: ---- vm-install-0.8.2.tar.bz2 New: ---- vm-install-0.8.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vm-install.spec ++++++ --- /var/tmp/diff_new_pack.P7irAj/_old 2014-02-06 07:00:39.000000000 +0100 +++ /var/tmp/diff_new_pack.P7irAj/_new 2014-02-06 07:00:39.000000000 +0100 @@ -21,12 +21,12 @@ BuildRequires: update-desktop-files # For directory ownership: BuildRequires: yast2 -Version: 0.8.2 +Version: 0.8.3 Release: 0 Summary: Tool to Define a Virtual Machine and Install Its Operating System License: GPL-2.0 Group: System/Emulators/PC -Source0: %{name}-0.8.2.tar.bz2 +Source0: %{name}-0.8.3.tar.bz2 Source1: vm-install.conf BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 x86_64 s390x @@ -35,7 +35,11 @@ Requires: libvirt-python Requires: libxml2-python Requires: python-urlgrabber +%if %suse_version > 1230 Requires: qemu-tools +%else +Requires: virt-utils +%endif Requires: udhcp Requires: usbutils %define pysite %(python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()") ++++++ vm-install-0.8.2.tar.bz2 -> vm-install-0.8.3.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vm-install-0.8.2/Makefile new/vm-install-0.8.3/Makefile --- old/vm-install-0.8.2/Makefile 2014-01-22 22:21:35.000000000 +0100 +++ new/vm-install-0.8.3/Makefile 2014-01-28 00:40:55.000000000 +0100 @@ -1,5 +1,5 @@ PACKAGE = vm-install -VER = 0.8.2 +VER = 0.8.3 default: @echo "Run 'make install DESTDIR=$destdir' to install." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vm-install-0.8.2/bin/vm-install new/vm-install-0.8.3/bin/vm-install --- old/vm-install-0.8.2/bin/vm-install 2014-01-23 00:44:05.000000000 +0100 +++ new/vm-install-0.8.3/bin/vm-install 2014-01-28 00:37:48.000000000 +0100 @@ -276,12 +276,12 @@ # Create a console instance based on the type of hypervisor running. if vminstall.hypervisor.connection.use_libvirt is False: - if options.use_xl is False: - from vminstall.xen_console import XenConsole - vminstall.console.console = XenConsole() - else: + if options.use_xl: from vminstall.xl_console import XlConsole vminstall.console.console = XlConsole() + else: + from vminstall.xen_console import XenConsole + vminstall.console.console = XenConsole() else: from vminstall.libvirt_console import LibVirtConsole vminstall.console.console = LibVirtConsole() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vm-install-0.8.2/man/vm-install.8 new/vm-install-0.8.3/man/vm-install.8 --- old/vm-install-0.8.2/man/vm-install.8 2014-01-23 22:38:38.000000000 +0100 +++ new/vm-install-0.8.3/man/vm-install.8 2014-01-29 17:29:44.000000000 +0100 @@ -291,10 +291,13 @@ Upgrade an existing paravirtualized VM. .TP .B --use-xl -This Xen only option uses the xl toolstack to create the VM. This option will -create a VM that is unknown and unmanaged by libvirt. Because virt-viewer -requires a libvirt connection, only vncviewer may be used to view the graphical -console of a VM created with this option. +Xen only option. By default vm-install uses libvirt to create a VM. This allows +the VM to to be managed through the virt-manager application or the virsh +command line tool. By specifying this flag, vm-install will use the xl command +to create the VM. This option will create a VM that is unknown and unmanaged by +libvirt. The default viewer for a graphical VM is virt-viewer. Because +virt-viewer requires a libvirt connection, only vncviewer may be used to view +the graphical console of a VM created with this option. .SH EXAMPLES As a trivial way to get started, run \fBvm-install\fR with no arguments: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vm-install-0.8.2/setup.py new/vm-install-0.8.3/setup.py --- old/vm-install-0.8.2/setup.py 2014-01-22 22:21:31.000000000 +0100 +++ new/vm-install-0.8.3/setup.py 2014-01-28 00:40:59.000000000 +0100 @@ -1,7 +1,7 @@ from distutils.core import setup setup(name='vminstall', - version='0.8.2', + version='0.8.3', description='Define a virtual machine and install its operating system', author='Charles Coffing', author_email='[email protected]', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vm-install-0.8.2/src/vminstall/gtk/interface.py new/vm-install-0.8.3/src/vminstall/gtk/interface.py --- old/vm-install-0.8.2/src/vminstall/gtk/interface.py 2014-01-23 00:44:33.000000000 +0100 +++ new/vm-install-0.8.3/src/vminstall/gtk/interface.py 2014-01-28 00:38:46.000000000 +0100 @@ -1727,10 +1727,10 @@ if caps.is_kvm() or caps.is_qemu(): guest_console = vminstall.libvirt_console.LibVirtConsole() else: - if self.options.use_xl is False: - guest_console = vminstall.xen_console.XenConsole() - else: + if self.options.use_xl: guest_console = vminstall.xl_console.XlConsole() + else: + guest_console = vminstall.xen_console.XenConsole() if self.virtman: domid = guest_console.get_domid_from_uuid(uuid) signal = 'action-show-terminal' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vm-install-0.8.2/src/vminstall/job.py new/vm-install-0.8.3/src/vminstall/job.py --- old/vm-install-0.8.2/src/vminstall/job.py 2014-01-23 00:45:16.000000000 +0100 +++ new/vm-install-0.8.3/src/vminstall/job.py 2014-01-28 00:39:36.000000000 +0100 @@ -335,12 +335,12 @@ if self._options.noautoconsole: if hypervisor.connection.use_libvirt is False: - if self._options.use_xl is False: - from xen_console import XenConsole - console.console = XenConsole() - else: + if self._options.use_xl: from xl_console import XlConsole console.console = XlConsole() + else: + from xen_console import XenConsole + console.console = XenConsole() else: from libvirt_console import LibVirtConsole console.console = LibVirtConsole() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vm-install-0.8.2/src/vminstall/options.py new/vm-install-0.8.3/src/vminstall/options.py --- old/vm-install-0.8.2/src/vminstall/options.py 2014-01-22 22:07:39.000000000 +0100 +++ new/vm-install-0.8.3/src/vminstall/options.py 2014-01-29 17:20:18.000000000 +0100 @@ -417,10 +417,11 @@ else: import xen_hypervisor import xl_hypervisor - if options.use_xl is False: - defaults.connect = xen_hypervisor.Xend(None) - else: + if options.use_xl: defaults.connect = xl_hypervisor.Xl(None) + defaults.use_xl = options.use_xl + else: + defaults.connect = xen_hypervisor.Xend(None) defaults.use_libvirt = options.use_libvirt = False hypervisor.connection = defaults.connect @@ -759,7 +760,8 @@ defaults.ui = options.ui defaults.background = options.background if options.use_xl: - defaults.graphics_viewer = 'vnc' + if defaults.graphics_viewer is None or defaults.graphics_viewer == 'virt-viewer': + options.graphics_viewer = defaults.graphics_viewer = 'vnc' defaults.use_xl = options.use_xl if defaults.background: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vm-install-0.8.2/src/vminstall/xen_guest.py new/vm-install-0.8.3/src/vminstall/xen_guest.py --- old/vm-install-0.8.2/src/vminstall/xen_guest.py 2014-01-22 22:07:17.000000000 +0100 +++ new/vm-install-0.8.3/src/vminstall/xen_guest.py 2014-01-29 18:00:43.000000000 +0100 @@ -459,7 +459,7 @@ self.Stop() hypervisor.connection.delete(self.options.name) raise VmError(VmError.E_NO_START, details=e.args[0]) - if not hypervisor.connection.wait_domain(self.options.name) and not self.options.use_xl: + if not hypervisor.connection.wait_domain(self.options.name): log.info("Domain failed to start") self.Stop() hypervisor.connection.delete(self.options.name) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vm-install-0.8.2/src/vminstall/xl_hypervisor.py new/vm-install-0.8.3/src/vminstall/xl_hypervisor.py --- old/vm-install-0.8.2/src/vminstall/xl_hypervisor.py 2014-01-22 22:06:36.000000000 +0100 +++ new/vm-install-0.8.3/src/vminstall/xl_hypervisor.py 2014-01-29 18:00:11.000000000 +0100 @@ -54,9 +54,13 @@ # Method: delete #--------------------------------------------------------------------------- def delete(self, domid): - """Destroys a running instance; erases from xl""" + """Deletes a running instance using xl. Uses a polite shutdown""" try: output = util.run(['/usr/sbin/xl', 'shutdown', str(domid)]) + for _ in xrange(timeout): + if not self.domain_running(domid): + return + time.sleep(1.0) except: pass @@ -64,9 +68,13 @@ # Method: destroy #--------------------------------------------------------------------------- def destroy(self, domid): - """Destroys a running instance; does not erase from xend""" + """Destroys a running instance using xl""" try: - output = util.run(['/usr/sbin/xl', 'shutdown', str(domid)]) + output = util.run(['/usr/sbin/xl', 'destroy', str(domid)]) + for _ in xrange(timeout): + if not self.domain_running(domid): + return + time.sleep(1.0) except: pass @@ -75,7 +83,7 @@ #--------------------------------------------------------------------------- def domain(self, domid): # xl doesn't have managed domains - return None + return self.domain_running(domid) #--------------------------------------------------------------------------- # Method: get_dom0_min_memory @@ -121,9 +129,6 @@ # If domain and 'state' are both found, then assume VM is trying # to come up, so keep waiting. Otherwise, fail. for _ in xrange(10): - domain = self.domain(domid) - if not domain: - return False wait = False if self.domain_running(domid): return True -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
