virt-manager/0005-Fix-detection-of-running-libvirtd-via-systemd.patch
Cole Robinson ce88c8945e Fix first run packagekit interaction (bz #870851)
Fix another backtrace if guest is pmsuspended (bz #871237)
2012-10-30 21:44:40 -04:00

70 lines
2.6 KiB
Diff

From b8d61f6602f82b6e90199d9ce430f9eebb1c894a Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Sun, 28 Oct 2012 20:18:51 -0400
Subject: [PATCH] Fix detection of running libvirtd via systemd (cherry picked
from commit 2163ba3a3035ea8fccd5113d53d120801ba12040)
---
src/virtManager/engine.py | 6 ++++--
src/virtManager/packageutils.py | 5 ++++-
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/virtManager/engine.py b/src/virtManager/engine.py
index 337fc67..2ec455b 100644
--- a/src/virtManager/engine.py
+++ b/src/virtManager/engine.py
@@ -178,8 +178,11 @@ class vmmEngine(vmmGObject):
manager.set_startup_error(msg)
return
+ do_start = not did_install_libvirt
if did_install_libvirt:
didstart = packageutils.start_libvirtd()
+ do_start = didstart
+
warnmsg = _(
"Libvirt was just installed, so the 'libvirtd' service will\n"
"will need to be started.\n"
@@ -189,8 +192,7 @@ class vmmEngine(vmmGObject):
if not didstart:
self.err.ok(_("Libvirt service must be started"), warnmsg)
- self.connect_to_uri(tryuri, autoconnect=True,
- do_start=not did_install_libvirt)
+ self.connect_to_uri(tryuri, autoconnect=True, do_start=do_start)
def load_stored_uris(self):
diff --git a/src/virtManager/packageutils.py b/src/virtManager/packageutils.py
index 736b98c..63cf2b5 100644
--- a/src/virtManager/packageutils.py
+++ b/src/virtManager/packageutils.py
@@ -217,7 +217,7 @@ def start_libvirtd():
state = props.Get("org.freedesktop.systemd1.Unit", "ActiveState")
logging.debug("libvirtd state=%s", state)
- if state == "Active":
+ if str(state).lower() == "active":
logging.debug("libvirtd already active, not starting")
return True
except:
@@ -226,12 +226,15 @@ def start_libvirtd():
# Connect to system-config-services and offer to start
try:
+ logging.debug("libvirtd not running, asking system-config-services "
+ "to start it")
scs = dbus.Interface(bus.get_object(
"org.fedoraproject.Config.Services",
"/org/fedoraproject/Config/Services/systemd1"),
"org.freedesktop.systemd1.Manager")
scs.StartUnit(unitname, "replace")
time.sleep(2)
+ logging.debug("Starting libvirtd appeared to succeed")
return True
except:
logging.exception("Failed to talk to system-config-services")
--
1.7.12.1