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 +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 +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 +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 +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 - 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 - 1.0.1-3 - filesystem: Fix target validation when editing device (bz #1089422) - details: Explicit warn that 'format' doesn't change image format (bz