- Fix start_libvirtd to correctly use systemd to start libvirtd

virtman-libvirtd-not-running.patch
- Upstream bug fixes
  531dd0ca-lxc-define-private-network.patch
  53207f40-invalidate-cached-caps.patch
  5320c976-fix-adding-empty-cdrom-floppy-drive.patch

- bnc#867796 - virt-manager New Virtual Machine "Vm-install"
  virtman-vminstall.patch

- bnc#867749 - virt-manager polling connection
  virtman-load-stored-uris.patch
- bnc#866287 - virt-manager suggests to install
  "qemu / libvirt-daemon-qemu / libvirt-daemon-driver-network" at startup
  virtman-packages.patch
- Use qemu-system-x86_64 instead of the deprecated qemu-kvm 
  virtman-kvm.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=150
This commit is contained in:
Charles Arnold 2014-03-13 23:44:08 +00:00 committed by Git OBS Bridge
parent 6786659bca
commit f54391e5a2
10 changed files with 344 additions and 30 deletions

View File

@ -0,0 +1,70 @@
Subject: lxc: define a private network for OS containers
From: Giuseppe Scrivano gscrivan@redhat.com Mon Mar 10 15:25:14 2014 +0100
Date: Mon Mar 10 15:48:42 2014 +0100:
Git: 75349b9cf075b229c027ef1fcabeb5ebac981cc8
By default, specify the the "<privnet>" feature with LXC operating
system containers.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1040406
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Index: virt-manager-1.0.0/tests/cli-test-xml/compare/virt-install-fs-default.xml
===================================================================
--- virt-manager-1.0.0.orig/tests/cli-test-xml/compare/virt-install-fs-default.xml
+++ virt-manager-1.0.0/tests/cli-test-xml/compare/virt-install-fs-default.xml
@@ -8,6 +8,9 @@
<type arch="x86_64">exe</type>
<init>/sbin/init</init>
</os>
+ <features>
+ <privnet/>
+ </features>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
Index: virt-manager-1.0.0/virtinst/guest.py
===================================================================
--- virt-manager-1.0.0.orig/virtinst/guest.py
+++ virt-manager-1.0.0/virtinst/guest.py
@@ -1,7 +1,7 @@
#
# Common code for all guests
#
-# Copyright 2006-2009, 2013 Red Hat, Inc.
+# Copyright 2006-2009, 2013, 2014 Red Hat, Inc.
# Jeremy Katz <katzj@redhat.com>
#
# This program is free software; you can redistribute it and/or modify
@@ -645,12 +645,18 @@ class Guest(XMLBuilder):
self._set_video_defaults()
self._set_sound_defaults()
+ def _is_os_container(self):
+ if not self.os.is_container():
+ return False
+ for fs in self.get_devices("filesystem"):
+ if fs.target == "/":
+ return True
+ return False
+
def _set_osxml_defaults(self):
if self.os.is_container() and not self.os.init:
- for fs in self.get_devices("filesystem"):
- if fs.target == "/":
- self.os.init = "/sbin/init"
- break
+ if self._is_os_container():
+ self.os.init = "/sbin/init"
self.os.init = self.os.init or "/bin/sh"
if not self.os.loader and self.os.is_hvm() and self.type == "xen":
@@ -736,6 +742,8 @@ class Guest(XMLBuilder):
self.features.acpi = None
self.features.apic = None
self.features.pae = None
+ if self._is_os_container():
+ self.features.privnet = True
return
if not self.os.is_hvm():

View File

@ -0,0 +1,22 @@
Subject: create: Invalidate cached caps across similar connections (bz 1075444)
From: Cole Robinson crobinso@redhat.com Wed Mar 12 11:37:36 2014 -0400
Date: Wed Mar 12 11:37:36 2014 -0400:
Git: 1cf8b629909ebbfb3caee235d03c7e9bb149091e
diff --git a/virtManager/create.py b/virtManager/create.py
index b4b1dfe..e8259dc 100644
--- a/virtManager/create.py
+++ b/virtManager/create.py
@@ -214,9 +214,9 @@ class vmmCreate(vmmGObjectUI):
self.addstorage = None
def remove_conn(self):
- if not self.conn:
- return
self.conn = None
+ self.capsguest = None
+ self.capsdomain = None
def set_conn(self, newconn, force_validate=False):
if self.conn == newconn and not force_validate:

View File

@ -0,0 +1,24 @@
Subject: addhw: Fix adding empty cdrom/floppy drive
From: Cole Robinson crobinso@redhat.com Wed Mar 12 16:54:14 2014 -0400
Date: Wed Mar 12 16:54:14 2014 -0400:
Git: abb3920ac6b1e24d2f50faad2772e31ddabcb1c9
diff --git a/virtManager/addstorage.py b/virtManager/addstorage.py
index 68558c9..2d15a57 100644
--- a/virtManager/addstorage.py
+++ b/virtManager/addstorage.py
@@ -324,11 +324,11 @@ class vmmAddStorage(vmmGObjectUI):
if is_default:
path = self._check_ideal_path(path, vmname, collidelist)
- if not path and device != "disk":
+ if not path and device in ["disk", "lun"]:
return self.err.val_err(_("A storage path must be specified."))
disk = virtinst.VirtualDisk(conn)
- disk.path = path
+ disk.path = path or None
disk.read_only = readonly
disk.device = device
disk.set_create_storage(size=size, sparse=sparse,

View File

@ -1,3 +1,30 @@
-------------------------------------------------------------------
Tue Mar 13 08:19:52 MDT 2014 - carnold@suse.com
- Fix start_libvirtd to correctly use systemd to start libvirtd
virtman-libvirtd-not-running.patch
- Upstream bug fixes
531dd0ca-lxc-define-private-network.patch
53207f40-invalidate-cached-caps.patch
5320c976-fix-adding-empty-cdrom-floppy-drive.patch
-------------------------------------------------------------------
Tue Mar 11 17:05:59 MDT 2014 - carnold@suse.com
- bnc#867796 - virt-manager New Virtual Machine "Vm-install"
virtman-vminstall.patch
-------------------------------------------------------------------
Tue Mar 11 09:12:07 MDT 2014 - carnold@suse.com
- bnc#867749 - virt-manager polling connection
virtman-load-stored-uris.patch
- bnc#866287 - virt-manager suggests to install
"qemu / libvirt-daemon-qemu / libvirt-daemon-driver-network" at startup
virtman-packages.patch
- Use qemu-system-x86_64 instead of the deprecated qemu-kvm
virtman-kvm.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Mar 10 07:46:16 MDT 2014 - carnold@suse.com Fri Mar 10 07:46:16 MDT 2014 - carnold@suse.com

View File

@ -19,9 +19,10 @@
%define with_guestfs 0 %define with_guestfs 0
%define askpass_package "openssh-askpass" %define askpass_package "openssh-askpass"
%define qemu_user "qemu" %define qemu_user "qemu"
%define libvirt_packages "libvirt-daemon-qemu,libvirt-daemon-driver-network" %define libvirt_kvm_packages "libvirt-daemon-qemu"
%define preferred_distros "opensuse,sles" %define libvirt_xen_packages "libvirt-daemon-xen"
%define kvm_packages "qemu" %define preferred_distros "sles,opensuse"
%define kvm_packages "qemu-x86"
%define _version 1.0.0 %define _version 1.0.0
%define _release 1 %define _release 1
@ -60,6 +61,9 @@ Patch22: 5318b486-virtinstall-location-iso-fix.patch
Patch23: 5319db07-customize-add-disk-fix.patch Patch23: 5319db07-customize-add-disk-fix.patch
Patch24: 531db6a7-new-volume-tooltip-logic.patch Patch24: 531db6a7-new-volume-tooltip-logic.patch
Patch25: 531dbfa7-handle-errors-when-deregistering-events-on-close.patch Patch25: 531dbfa7-handle-errors-when-deregistering-events-on-close.patch
Patch26: 531dd0ca-lxc-define-private-network.patch
Patch27: 53207f40-invalidate-cached-caps.patch
Patch28: 5320c976-fix-adding-empty-cdrom-floppy-drive.patch
Patch50: virtman-desktop.patch Patch50: virtman-desktop.patch
Patch51: virtman-cdrom.patch Patch51: virtman-cdrom.patch
Patch52: virtman-kvm.patch Patch52: virtman-kvm.patch
@ -77,6 +81,9 @@ Patch69: virtman-allow-pv-iso-install.patch
Patch70: virtman-autoyast-support.patch Patch70: virtman-autoyast-support.patch
Patch71: virtman-vminstall.patch Patch71: virtman-vminstall.patch
Patch72: virtman-show-suse-install-repos.patch Patch72: virtman-show-suse-install-repos.patch
Patch73: virtman-packages.patch
Patch74: virtman-load-stored-uris.patch
Patch75: virtman-libvirtd-not-running.patch
Patch150: virtinst-cdrom.patch Patch150: virtinst-cdrom.patch
Patch151: virtinst-storage-ocfs2.patch Patch151: virtinst-storage-ocfs2.patch
Patch152: virtinst-qed.patch Patch152: virtinst-qed.patch
@ -88,11 +95,11 @@ BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define verrel %{version}-%{release} %define verrel %{version}-%{release}
Requires: dbus-1-x11 Requires: virt-manager-common = %{verrel}
Requires: dconf
Requires: gtk3 Requires: gtk3
Requires: python-gconf Requires: python-gconf
Requires: virt-manager-common = %{verrel} Requires: dconf
Requires: dbus-1-x11
Requires: vm-install >= 0.5.6 Requires: vm-install >= 0.5.6
# Libvirt-glib # Libvirt-glib
@ -107,12 +114,12 @@ Requires: typelib-1_0-Vte-2_90
Requires: gtk-vnc2 Requires: gtk-vnc2
Requires: libspice-client-glib-2_0-8 Requires: libspice-client-glib-2_0-8
Requires: libspice-client-gtk-3_0-4 Requires: libspice-client-gtk-3_0-4
Requires: python-gobject-cairo
Requires: typelib-1_0-GVnc-1_0
Requires: typelib-1_0-Gtk-3_0
Requires: typelib-1_0-GtkVnc-2_0
Requires: typelib-1_0-SpiceClientGlib-2_0 Requires: typelib-1_0-SpiceClientGlib-2_0
Requires: typelib-1_0-SpiceClientGtk-3_0 Requires: typelib-1_0-SpiceClientGtk-3_0
Requires: typelib-1_0-Gtk-3_0
Requires: typelib-1_0-GVnc-1_0
Requires: typelib-1_0-GtkVnc-2_0
Requires: python-gobject-cairo
Recommends: python-SpiceClientGtk Recommends: python-SpiceClientGtk
Requires: virt-install Requires: virt-install
@ -141,9 +148,9 @@ Group: System/Monitoring
# This version not strictly required: virt-manager should work with older, # This version not strictly required: virt-manager should work with older,
# however varying amounts of functionality will not be enabled. # however varying amounts of functionality will not be enabled.
Requires: libvirt-python >= 0.7.0 Requires: libvirt-python >= 0.7.0
Requires: python-urlgrabber
Requires: python-ipaddr Requires: python-ipaddr
Requires: python-libxml2 Requires: python-libxml2
Requires: python-urlgrabber
%description common %description common
Common files used by the different virt-manager interfaces, as well as Common files used by the different virt-manager interfaces, as well as
@ -156,10 +163,10 @@ Group: System/Monitoring
Requires: virt-manager-common = %{verrel} Requires: virt-manager-common = %{verrel}
Provides: python-virtinst
Provides: virt-clone Provides: virt-clone
Provides: virt-convert
Provides: virt-image Provides: virt-image
Provides: virt-convert
Provides: python-virtinst
Obsoletes: python-virtinst <= 0.600.4 Obsoletes: python-virtinst <= 0.600.4
Supplements: virt-manager Supplements: virt-manager
@ -196,6 +203,9 @@ machine).
%patch23 -p1 %patch23 -p1
%patch24 -p1 %patch24 -p1
%patch25 -p1 %patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch50 -p1 %patch50 -p1
%patch51 -p1 %patch51 -p1
%patch52 -p1 %patch52 -p1
@ -214,6 +224,9 @@ machine).
%patch70 -p1 %patch70 -p1
%patch71 -p1 %patch71 -p1
%patch72 -p1 %patch72 -p1
%patch73 -p1
%patch74 -p1
%patch75 -p1
#%patch150 -p1 use 'c' for cdrom #%patch150 -p1 use 'c' for cdrom
%patch151 -p1 %patch151 -p1
%patch152 -p1 %patch152 -p1
@ -235,8 +248,12 @@ machine).
%define _preferred_distros --preferred-distros=%{preferred_distros} %define _preferred_distros --preferred-distros=%{preferred_distros}
%endif %endif
%if %{libvirt_packages} %if %{libvirt_kvm_packages}
%define _libvirt_packages --libvirt-package-names=%{libvirt_packages} %define _libvirt_kvm_packages --libvirt-kvm-package-names=%{libvirt_kvm_packages}
%endif
%if %{libvirt_xen_packages}
%define _libvirt_xen_packages --libvirt-xen-package-names=%{libvirt_xen_packages}
%endif %endif
%if %{askpass_package} %if %{askpass_package}
@ -249,7 +266,8 @@ python setup.py configure \
--default-graphics="spice" \ --default-graphics="spice" \
%{?_qemu_user} \ %{?_qemu_user} \
%{?_kvm_packages} \ %{?_kvm_packages} \
%{?_libvirt_packages} \ %{?_libvirt_kvm_packages} \
%{?_libvirt_xen_packages} \
%{?_askpass_package} \ %{?_askpass_package} \
%{?_preferred_distros} \ %{?_preferred_distros} \
%{?_default_graphics} %{?_default_graphics}

View File

@ -1,11 +1,13 @@
Index: virt-manager-0.10.1/virtManager/connect.py Index: virt-manager-1.0.0/virtManager/connect.py
=================================================================== ===================================================================
--- virt-manager-0.10.1.orig/virtManager/connect.py --- virt-manager-1.0.0.orig/virtManager/connect.py
+++ virt-manager-0.10.1/virtManager/connect.py +++ virt-manager-1.0.0/virtManager/connect.py
@@ -111,6 +111,7 @@ class vmmConnect(vmmGObjectUI): @@ -110,7 +110,8 @@ class vmmConnect(vmmGObjectUI):
if (os.path.exists("/usr/bin/qemu") or if (os.path.exists("/usr/bin/qemu") or
os.path.exists("/usr/bin/qemu-kvm") or os.path.exists("/usr/bin/qemu-kvm") or
os.path.exists("/usr/bin/kvm") or - os.path.exists("/usr/bin/kvm") or
+ os.path.exists("/usr/bin/qemu-system-x86_64") or
+ os.path.exists("/dev/kvm") or + os.path.exists("/dev/kvm") or
os.path.exists("/usr/libexec/qemu-kvm")): os.path.exists("/usr/libexec/qemu-kvm")):
if always_system or os.geteuid() == 0: if always_system or os.geteuid() == 0:

View File

@ -0,0 +1,13 @@
--- virt-manager-1.0.0/virtManager/packageutils.py.orig 2014-03-13 14:43:07.187281364 -0600
+++ virt-manager-1.0.0/virtManager/packageutils.py 2014-03-13 14:45:06.847936733 -0600
@@ -136,8 +136,8 @@ def start_libvirtd():
logging.debug("libvirtd not running, asking system-config-services "
"to start it")
scs = Gio.DBusProxy.new_sync(bus, 0, None,
- "org.fedoraproject.Config.Services",
- "/org/fedoraproject/Config/Services/systemd1",
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager", None)
scs.StartUnit("(ss)", unitname, "replace")
time.sleep(2)

View File

@ -0,0 +1,25 @@
--- virt-manager-1.0.0/virtManager/engine.py.orig 2014-03-13 15:48:17.556984261 -0600
+++ virt-manager-1.0.0/virtManager/engine.py 2014-03-13 15:48:22.909014154 -0600
@@ -229,9 +229,22 @@ class vmmEngine(vmmGObject):
if not uris:
return
logging.debug("About to connect to uris %s", uris)
+ tryuri = vmmConnect.default_uri(always_system=True)
+ found_uri = None
for uri in uris:
+ # If booted Xen, don't try connecting to local qemu
+ # Likewise if booted native, don't try connecting to local xen
+ if uri == 'xen:///' or uri == 'qemu:///system':
+ if tryuri and tryuri != uri:
+ logging.debug("Skipping %s because it is incompatible with local host", uri)
+ continue
+ found_uri = True
conn = self.make_conn(uri)
self.register_conn(conn, skip_config=True)
+ if tryuri and found_uri is None:
+ logging.debug("Didn't connect with anything, try default %s", tryuri)
+ conn = self.make_conn(tryuri)
+ self.register_conn(conn, skip_config=False)
def autostart_conns(self):
"""

99
virtman-packages.patch Normal file
View File

@ -0,0 +1,99 @@
Index: virt-manager-1.0.0/setup.py
===================================================================
--- virt-manager-1.0.0.orig/setup.py
+++ virt-manager-1.0.0/setup.py
@@ -310,8 +310,11 @@ class configure(Command):
("pkgversion=", None, "user specified version-id"),
("qemu-user=", None,
"user libvirt uses to launch qemu processes (default=root)"),
- ("libvirt-package-names=", None,
- "list of libvirt distro packages virt-manager will check for on "
+ ("libvirt-kvm-package-names=", None,
+ "list of libvirt kvm distro packages virt-manager will check for on "
+ "first run. comma separated string (default=none)"),
+ ("libvirt-xen-package-names=", None,
+ "list of libvirt xen distro packages virt-manager will check for on "
"first run. comma separated string (default=none)"),
("kvm-package-names=", None,
"recommended kvm packages virt-manager will check for on first run "
@@ -335,7 +338,8 @@ class configure(Command):
self.prefix = sysprefix
self.pkgversion = None
self.qemu_user = None
- self.libvirt_package_names = None
+ self.libvirt_kvm_package_names = None
+ self.libvirt_xen_package_names = None
self.kvm_package_names = None
self.askpass_package_names = None
self.preferred_distros = None
@@ -351,8 +355,10 @@ class configure(Command):
template += "pkgversion = %s\n" % self.pkgversion
if self.qemu_user is not None:
template += "default_qemu_user = %s\n" % self.qemu_user
- if self.libvirt_package_names is not None:
- template += "libvirt_packages = %s\n" % self.libvirt_package_names
+ if self.libvirt_kvm_package_names is not None:
+ template += "libvirt_kvm_packages = %s\n" % self.libvirt_kvm_package_names
+ if self.libvirt_xen_package_names is not None:
+ template += "libvirt_xen_packages = %s\n" % self.libvirt_xen_package_names
if self.kvm_package_names is not None:
template += "hv_packages = %s\n" % self.kvm_package_names
if self.askpass_package_names is not None:
Index: virt-manager-1.0.0/virtcli/cliconfig.py
===================================================================
--- virt-manager-1.0.0.orig/virtcli/cliconfig.py
+++ virt-manager-1.0.0/virtcli/cliconfig.py
@@ -86,5 +86,6 @@ stable_defaults = bool(int(_get_param("s
preferred_distros = _split_list(_get_param("preferred_distros", ""))
hv_packages = _split_list(_get_param("hv_packages", ""))
askpass_package = _split_list(_get_param("askpass_packages", ""))
-libvirt_packages = _split_list(_get_param("libvirt_packages", ""))
+libvirt_kvm_packages = _split_list(_get_param("libvirt_kvm_packages", ""))
+libvirt_xen_packages = _split_list(_get_param("libvirt_xen_packages", ""))
default_graphics = _get_param("default_graphics", "spice")
Index: virt-manager-1.0.0/virtManager/config.py
===================================================================
--- virt-manager-1.0.0.orig/virtManager/config.py
+++ virt-manager-1.0.0/virtManager/config.py
@@ -160,7 +160,8 @@ class vmmConfig(object):
self.stable_defaults = cliconfig.stable_defaults
self.preferred_distros = cliconfig.preferred_distros
self.hv_packages = cliconfig.hv_packages
- self.libvirt_packages = cliconfig.libvirt_packages
+ self.libvirt_kvm_packages = cliconfig.libvirt_kvm_packages
+ self.libvirt_xen_packages = cliconfig.libvirt_xen_packages
self.askpass_package = cliconfig.askpass_package
self.default_graphics_from_config = cliconfig.default_graphics
self.cli_usbredir = None
Index: virt-manager-1.0.0/virtManager/engine.py
===================================================================
--- virt-manager-1.0.0.orig/virtManager/engine.py
+++ virt-manager-1.0.0/virtManager/engine.py
@@ -196,21 +196,17 @@ class vmmEngine(vmmGObject):
ret = None
try:
- libvirt_packages = self.config.libvirt_packages
- packages = self.config.hv_packages + libvirt_packages
-
+ tryuri = vmmConnect.default_uri(always_system=True)
+ if tryuri and tryuri.startswith('xen'):
+ packages = self.config.libvirt_xen_packages
+ else:
+ packages = self.config.libvirt_kvm_packages + self.config.hv_packages
ret = packageutils.check_packagekit(manager, manager.err, packages)
except:
logging.exception("Error talking to PackageKit")
- if ret:
- tryuri = "qemu:///system"
- else:
- tryuri = vmmConnect.default_uri(always_system=True)
-
if tryuri is None:
- manager.set_startup_error(msg)
- return
+ tryuri = "qemu:///system"
warnmsg = _("The 'libvirtd' service will need to be started.\n\n"
"After that, virt-manager will connect to libvirt on\n"

View File

@ -106,7 +106,11 @@ Index: virt-manager-1.0.0/virtManager/engine.py
=================================================================== ===================================================================
--- virt-manager-1.0.0.orig/virtManager/engine.py --- virt-manager-1.0.0.orig/virtManager/engine.py
+++ virt-manager-1.0.0/virtManager/engine.py +++ virt-manager-1.0.0/virtManager/engine.py
@@ -28,6 +28,8 @@ import logging @@ -25,9 +25,12 @@ from gi.repository import Gtk
# pylint: enable=E0611
import logging
+import os
import re import re
import Queue import Queue
import threading import threading
@ -115,7 +119,7 @@ Index: virt-manager-1.0.0/virtManager/engine.py
import libvirt import libvirt
from virtinst import util from virtinst import util
@@ -76,6 +78,7 @@ class vmmEngine(vmmGObject): @@ -76,6 +79,7 @@ class vmmEngine(vmmGObject):
self.windowCreate = None self.windowCreate = None
self.windowManager = None self.windowManager = None
self.windowMigrate = None self.windowMigrate = None
@ -123,7 +127,7 @@ Index: virt-manager-1.0.0/virtManager/engine.py
self.conns = {} self.conns = {}
self.err = vmmErrorDialog() self.err = vmmErrorDialog()
@@ -841,6 +844,7 @@ class vmmEngine(vmmGObject): @@ -841,6 +845,7 @@ class vmmEngine(vmmGObject):
obj.connect("action-show-domain", self._do_show_vm) obj.connect("action-show-domain", self._do_show_vm)
obj.connect("action-show-preferences", self._do_show_preferences) obj.connect("action-show-preferences", self._do_show_preferences)
obj.connect("action-show-create", self._do_show_create) obj.connect("action-show-create", self._do_show_create)
@ -131,7 +135,7 @@ Index: virt-manager-1.0.0/virtManager/engine.py
obj.connect("action-show-about", self._do_show_about) obj.connect("action-show-about", self._do_show_about)
obj.connect("action-show-host", self._do_show_host) obj.connect("action-show-host", self._do_show_host)
obj.connect("action-show-connect", self._do_show_connect) obj.connect("action-show-connect", self._do_show_connect)
@@ -881,11 +885,42 @@ class vmmEngine(vmmGObject): @@ -881,11 +886,52 @@ class vmmEngine(vmmGObject):
self.windowCreate = obj self.windowCreate = obj
return self.windowCreate return self.windowCreate
@ -157,11 +161,21 @@ Index: virt-manager-1.0.0/virtManager/engine.py
+ self._get_create_dialog().show(src.topwin, uri) + self._get_create_dialog().show(src.topwin, uri)
+ self.remote_install = True + self.remote_install = True
+ else: + else:
+ args = ['/usr/bin/vm-install'] + if os.getuid() == 0:
+ logging.debug("Launching: %s" % str(args)) + args = ['/usr/bin/vm-install']
+ p = Popen(args) + logging.debug("Launching: %s" % str(args))
+ self.windowCreate = None + p = Popen(args)
+ self.remote_install = False + self.windowCreate = None
+ self.remote_install = False
+ else:
+ from vminstall.msg import must_be_root
+ message_box = Gtk.MessageDialog(None,
+ Gtk.DialogFlags.MODAL,
+ Gtk.MessageType.WARNING,
+ Gtk.ButtonsType.OK,
+ must_be_root)
+ message_box.run()
+ message_box.destroy()
+ except Exception, e: + except Exception, e:
+ src.err.show_err(_("Error launching manager: %s") % str(e), + src.err.show_err(_("Error launching manager: %s") % str(e),
+ "".join(traceback.format_exc())) + "".join(traceback.format_exc()))