[virt-manager/f20] Fix error reporting when checking libvirt version at conn startup (bz #1074120) Fix error reporting

Cole Robinson crobinso at fedoraproject.org
Mon Sep 8 15:19:42 UTC 2014


commit 02d19903e2ace94969c11a69ee4b5e989816f324
Author: Cole Robinson <crobinso at redhat.com>
Date:   Mon Sep 8 11:19:37 2014 -0400

    Fix error reporting when checking libvirt version at conn startup (bz #1074120)
    Fix error reporting from delete dialog (bz #1092739)
    Fix ubuntu video default (bz #1129803)

 ...Report-error-if-things-fall-over-during-c.patch |   62 ++++++++++++++++++++
 ...ow-error-if-launching-delete-dialog-fails.patch |   27 +++++++++
 ...Call-path_exists-before-getting-storage-v.patch |   30 ++++++++++
 ...-fix-for-ubuntu-vmvga-default-bug-1129803.patch |   30 ++++++++++
 virt-manager.spec                                  |   24 +++++++-
 5 files changed, 172 insertions(+), 1 deletions(-)
---
diff --git a/0013-connection-Report-error-if-things-fall-over-during-c.patch b/0013-connection-Report-error-if-things-fall-over-during-c.patch
new file mode 100644
index 0000000..b764c8d
--- /dev/null
+++ b/0013-connection-Report-error-if-things-fall-over-during-c.patch
@@ -0,0 +1,62 @@
+From f981509e84a99dccf99d8767d3754adf0eccecb9 Mon Sep 17 00:00:00 2001
+From: Cole Robinson <crobinso at redhat.com>
+Date: Fri, 4 Jul 2014 17:37:42 -0400
+Subject: [PATCH] connection: Report error if things fall over during
+ connection bring up
+
+(cherry picked from commit e12d7a6a8c21f0d8e0331fa06f53523258bdfaae)
+
+Conflicts:
+	virtManager/connection.py
+---
+ virtManager/connection.py | 37 +++++++++++++++++++++----------------
+ 1 file changed, 21 insertions(+), 16 deletions(-)
+
+diff --git a/virtManager/connection.py b/virtManager/connection.py
+index ffc2f27..1d067fd 100644
+--- a/virtManager/connection.py
++++ b/virtManager/connection.py
+@@ -1103,22 +1103,27 @@ class vmmConnection(vmmGObject):
+     def _open_notify(self):
+         logging.debug("Notifying open result")
+ 
+-        self.idle_emit("state-changed")
+-
+-        if self.state == self.STATE_ACTIVE:
+-            logging.debug("libvirt version=%s",
+-                          self._backend.local_libvirt_version())
+-            logging.debug("daemon version=%s",
+-                          self._backend.daemon_version())
+-            logging.debug("conn version=%s", self._backend.conn_version())
+-            logging.debug("%s capabilities:\n%s",
+-                          self.get_uri(), self.caps.xml)
+-            self._add_conn_events()
+-            self.schedule_priority_tick(stats_update=True,
+-                                        pollvm=True, pollnet=True,
+-                                        pollpool=True, polliface=True,
+-                                        pollnodedev=True, pollmedia=True,
+-                                        force=True)
++        try:
++            self.idle_emit("state-changed")
++
++            if self.state == self.STATE_ACTIVE:
++                logging.debug("libvirt version=%s",
++                              self._backend.local_libvirt_version())
++                logging.debug("daemon version=%s",
++                              self._backend.daemon_version())
++                logging.debug("conn version=%s", self._backend.conn_version())
++                logging.debug("%s capabilities:\n%s",
++                              self.get_uri(), self.caps.xml)
++                self._add_conn_events()
++                self.schedule_priority_tick(stats_update=True,
++                                            pollvm=True, pollnet=True,
++                                            pollpool=True, polliface=True,
++                                            pollnodedev=True, pollmedia=True,
++                                            force=True)
++        except Exception, e:
++            self.close()
++            self.connectError = (str(e),
++                "".join(traceback.format_exc()), False)
+ 
+         if self.state == self.STATE_DISCONNECTED:
+             if self.connectError:
diff --git a/0014-engine-Show-error-if-launching-delete-dialog-fails.patch b/0014-engine-Show-error-if-launching-delete-dialog-fails.patch
new file mode 100644
index 0000000..42d18ea
--- /dev/null
+++ b/0014-engine-Show-error-if-launching-delete-dialog-fails.patch
@@ -0,0 +1,27 @@
+From 6ac3a18d533897dbf12a8d8d300b71ed2f863c2e Mon Sep 17 00:00:00 2001
+From: Cole Robinson <crobinso at redhat.com>
+Date: Wed, 30 Apr 2014 15:54:00 -0400
+Subject: [PATCH] engine: Show error if launching delete dialog fails
+
+(cherry picked from commit f35438a01bbf3ba54b4e448d14e7981110a74f08)
+---
+ virtManager/engine.py | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/virtManager/engine.py b/virtManager/engine.py
+index e41c829..396cdc7 100644
+--- a/virtManager/engine.py
++++ b/virtManager/engine.py
+@@ -1149,6 +1149,9 @@ class vmmEngine(vmmGObject):
+         conn = self._lookup_conn(uri)
+         vm = conn.get_vm(uuid)
+ 
+-        if not self.delete_dialog:
+-            self.delete_dialog = vmmDeleteDialog()
+-        self.delete_dialog.show(vm, src.topwin)
++        try:
++            if not self.delete_dialog:
++                self.delete_dialog = vmmDeleteDialog()
++            self.delete_dialog.show(vm, src.topwin)
++        except Exception, e:
++            src.err.show_err(_("Error launching delete dialog: %s") % str(e))
diff --git a/0015-connection-Call-path_exists-before-getting-storage-v.patch b/0015-connection-Call-path_exists-before-getting-storage-v.patch
new file mode 100644
index 0000000..4cad29f
--- /dev/null
+++ b/0015-connection-Call-path_exists-before-getting-storage-v.patch
@@ -0,0 +1,30 @@
+From c3bd3589544bedd3f891800b01276523c2629d2c Mon Sep 17 00:00:00 2001
+From: Cole Robinson <crobinso at redhat.com>
+Date: Wed, 30 Apr 2014 16:00:34 -0400
+Subject: [PATCH] connection: Call path_exists before getting storage volume
+ (bz 1092739)
+
+path_exists will check to ensure the volume actually survives a pool
+refresh, incase it was deleted behind libvirt's back. This makes the
+delete dialog happier at least.
+
+(cherry picked from commit 5c28a00d3e28ba7446f323a31ac47a194eb200b1)
+---
+ virtManager/connection.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/virtManager/connection.py b/virtManager/connection.py
+index 1d067fd..1d755c3 100644
+--- a/virtManager/connection.py
++++ b/virtManager/connection.py
+@@ -752,6 +752,10 @@ class vmmConnection(vmmGObject):
+         return self.get_pool_by_name("default")
+ 
+     def get_vol_by_path(self, path):
++        # path_exists will handle stuff like refreshing a busted pool
++        if not virtinst.VirtualDisk.path_exists(self.get_backend(), path):
++            return None
++
+         for pool in self.pools.values():
+             for vol in pool.get_volumes().values():
+                 if vol.get_target_path() == path:
diff --git a/0016-Custom-F20-fix-for-ubuntu-vmvga-default-bug-1129803.patch b/0016-Custom-F20-fix-for-ubuntu-vmvga-default-bug-1129803.patch
new file mode 100644
index 0000000..348bc1d
--- /dev/null
+++ b/0016-Custom-F20-fix-for-ubuntu-vmvga-default-bug-1129803.patch
@@ -0,0 +1,30 @@
+From cda87b1bafae20840ae71fa945ca0d303f16491d Mon Sep 17 00:00:00 2001
+From: Cole Robinson <crobinso at redhat.com>
+Date: Mon, 8 Sep 2014 11:15:26 -0400
+Subject: [PATCH] Custom F20 fix for ubuntu vmvga default (bug 1129803)
+
+---
+ virtinst/guest.py | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/virtinst/guest.py b/virtinst/guest.py
+index df43a5e..615c79f 100644
+--- a/virtinst/guest.py
++++ b/virtinst/guest.py
+@@ -949,12 +949,13 @@ class Guest(XMLBuilder):
+             self._add_spice_sound()
+             self._add_spice_usbredir()
+ 
+-        if has_spice() and self.os.is_x86():
++        video_model = self._lookup_osdict_key("videomodel", "cirrus")
++        # HACK for fedora 20 for ubuntu video default, virt-manager.git has
++        # the proper fix but it's specific to libosinfo.
++        if has_spice() and self.os.is_x86() and video_model != "vmvga":
+             video_model = "qxl"
+         elif self.os.is_ppc64() and self.os.machine == "pseries":
+             video_model = "vga"
+-        else:
+-            video_model = self._lookup_osdict_key("videomodel", "cirrus")
+ 
+         for video in self.get_devices("video"):
+             if video.model == video.MODEL_DEFAULT:
diff --git a/virt-manager.spec b/virt-manager.spec
index d890afc..81ec967 100644
--- a/virt-manager.spec
+++ b/virt-manager.spec
@@ -20,7 +20,7 @@
 
 
 %define _version 1.0.1
-%define _release 3
+%define _release 4
 
 
 # This macro is used for the continuous automated builds. It just
@@ -66,6 +66,14 @@ Patch0011: 0011-Fix-using-storage-when-the-directory-name-contains-w.patch
 # packageutils: Fix install when one package is already installed (bz
 # #1090181)
 Patch0012: 0012-packageutils-Fix-install-when-one-package-is-already.patch
+# Fix error reporting when checking libvirt version at conn startup (bz
+# #1074120)
+Patch0013: 0013-connection-Report-error-if-things-fall-over-during-c.patch
+# Fix error reporting from delete dialog (bz #1092739)
+Patch0014: 0014-engine-Show-error-if-launching-delete-dialog-fails.patch
+Patch0015: 0015-connection-Call-path_exists-before-getting-storage-v.patch
+# Fix ubuntu video default (bz #1129803)
+Patch0016: 0016-Custom-F20-fix-for-ubuntu-vmvga-default-bug-1129803.patch
 BuildArch: noarch
 
 
@@ -158,6 +166,14 @@ machine).
 # packageutils: Fix install when one package is already installed (bz
 # #1090181)
 %patch0012 -p1
+# Fix error reporting when checking libvirt version at conn startup (bz
+# #1074120)
+%patch0013 -p1
+# Fix error reporting from delete dialog (bz #1092739)
+%patch0014 -p1
+%patch0015 -p1
+# Fix ubuntu video default (bz #1129803)
+%patch0016 -p1
 
 %build
 %if %{qemu_user}
@@ -267,6 +283,12 @@ fi
 
 
 %changelog
+* Mon Sep 08 2014 Cole Robinson <crobinso at redhat.com> - 1.0.1-4
+- Fix error reporting when checking libvirt version at conn startup (bz
+  #1074120)
+- Fix error reporting from delete dialog (bz #1092739)
+- Fix ubuntu video default (bz #1129803)
+
 * Tue Apr 29 2014 Cole Robinson <crobinso at redhat.com> - 1.0.1-3
 - filesystem: Fix target validation when editing device (bz #1089422)
 - details: Explicit warn that 'format' doesn't change image format (bz


More information about the scm-commits mailing list