Accepting request 309088 from Virtualization

Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/309088
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virt-manager?expand=0&rev=120
This commit is contained in:
Dominique Leuenberger 2015-05-29 08:45:57 +00:00 committed by Git OBS Bridge
commit 34c52edd17
16 changed files with 409 additions and 12 deletions

View File

@ -0,0 +1,26 @@
Subject: virt-manager: fix --show-host-summary error windows flooding
From: Giuseppe Scrivano gscrivan@redhat.com Mon May 11 15:05:57 2015 +0200
Date: Mon May 11 20:20:10 2015 +0200:
Git: 2c1e482b2df58e76624cb30625ce4bed0c663275
Break an endless loop vmmHost.overview_name_changed ->
vmmHost.conn_state_changed -> vmmHost._overview_name_changed.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1220322
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Index: virt-manager-1.2.0/virtManager/connection.py
===================================================================
--- virt-manager-1.2.0.orig/virtManager/connection.py
+++ virt-manager-1.2.0/virtManager/connection.py
@@ -1346,7 +1346,8 @@ class vmmConnection(vmmGObject):
self.config.set_conn_autoconnect(self.get_uri(), val)
def set_config_pretty_name(self, value):
- self.config.set_perconn(self.get_uri(), "/pretty-name", value)
+ if value != self._get_config_pretty_name():
+ self.config.set_perconn(self.get_uri(), "/pretty-name", value)
def _get_config_pretty_name(self):
return self.config.get_perconn(self.get_uri(), "/pretty-name")
def _on_config_pretty_name_changed(self, *args, **kwargs):

View File

@ -0,0 +1,22 @@
Subject: interface: read the start mode from the inactive conf XML
From: Giuseppe Scrivano gscrivan@redhat.com Thu May 14 16:27:55 2015 +0200
Date: Fri May 15 09:14:09 2015 +0200:
Git: 4b5c836a16da18e58e013a0fa6c3ca4caba00b94
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1154480
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
diff --git a/virtManager/interface.py b/virtManager/interface.py
index bd1e2ba..dc6f4da 100644
--- a/virtManager/interface.py
+++ b/virtManager/interface.py
@@ -101,7 +101,7 @@ class vmmInterface(vmmLibvirtObject):
return "Interface"
def get_startmode(self):
- return self.get_xmlobj().start_mode or "none"
+ return self.get_xmlobj(inactive=True).start_mode or "none"
def set_startmode(self, newmode):
xmlobj = self._make_xmlobj_to_define()

View File

@ -0,0 +1,41 @@
Subject: domain: Fix changing USB device model
From: Cole Robinson crobinso@redhat.com Tue May 19 13:21:36 2015 -0400
Date: Tue May 19 18:29:45 2015 -0400:
Git: 776c1d97c667628b03ad79d4e89457675f475dfb
Broken before v1.2.0
Index: virt-manager-1.2.0/virtManager/domain.py
===================================================================
--- virt-manager-1.2.0.orig/virtManager/domain.py
+++ virt-manager-1.2.0/virtManager/domain.py
@@ -953,23 +953,22 @@ class vmmDomain(vmmLibvirtObject):
def _change_model():
if editdev.type == "usb":
- guest = self._make_xmlobj_to_define()
- ctrls = guest.get_devices("controller")
+ ctrls = xmlobj.get_devices("controller")
ctrls = [x for x in ctrls if (x.type ==
VirtualController.TYPE_USB)]
for dev in ctrls:
- guest.remove_device(dev)
+ xmlobj.remove_device(dev)
if model == "ich9-ehci1":
for dev in VirtualController.get_usb2_controllers(
- guest.conn):
- guest.add_device(dev)
+ xmlobj.conn):
+ xmlobj.add_device(dev)
else:
- dev = VirtualController(guest.conn)
+ dev = VirtualController(xmlobj.conn)
dev.type = "usb"
if model != "default":
dev.model = model
- guest.add_device(dev)
+ xmlobj.add_device(dev)
elif editdev.type == "scsi":
if model == "default":

View File

@ -0,0 +1,26 @@
Subject: domain: Fix memory stats for shutoff VM (bz 1215453)
From: Cole Robinson crobinso@redhat.com Mon May 4 15:50:01 2015 -0400
Date: Mon May 4 15:50:01 2015 -0400:
Git: 848123e6c8850bafad28767a165bbbf8dc746a09
memory doesn't have a separate input/output stats, so we shouldn't use
the in_out_vector_helper. This resulted in shutoff VMs appearing to still
use memory in the manager window.
diff --git a/virtManager/domain.py b/virtManager/domain.py
index cdb8cd5..e96b80f 100644
--- a/virtManager/domain.py
+++ b/virtManager/domain.py
@@ -1699,8 +1699,10 @@ class vmmDomain(vmmLibvirtObject):
cpudata = cpudata[0:limit]
return cpudata
def memory_usage_vector_limit(self, limit):
- return self.in_out_vector_limit(self.stats_memory_vector(),
- limit)
+ data = self.stats_memory_vector()
+ if len(data) > limit:
+ data = data[0:limit]
+ return data
def network_traffic_vector_limit(self, limit, ceil=None):
return self.in_out_vector_limit(self.network_traffic_vector(ceil),
limit)

View File

@ -0,0 +1,30 @@
Subject: connection: Fix sending net-removed signal
From: Cole Robinson crobinso@redhat.com Thu May 7 12:30:28 2015 -0400
Date: Thu May 7 12:30:28 2015 -0400:
Git: 88e18c86d36406b3dab032b2bb21b46767871b4b
Index: virt-manager-1.2.0/virtManager/connection.py
===================================================================
--- virt-manager-1.2.0.orig/virtManager/connection.py
+++ virt-manager-1.2.0/virtManager/connection.py
@@ -961,13 +961,17 @@ class vmmConnection(vmmGObject):
for obj in gone_objects:
class_name = obj.class_name()
+ try:
+ name = obj.get_name()
+ except:
+ name = str(obj)
if not self._objects.remove(obj):
logging.debug("Requested removal of %s=%s, but it's "
- "not in our object list.", class_name, obj.get_name())
+ "not in our object list.", class_name, name)
continue
- logging.debug("%s=%s removed", class_name, obj.get_name())
+ logging.debug("%s=%s removed", class_name, name)
if class_name == "domain":
self.emit("vm-removed", obj.get_connkey())
elif class_name == "network":

View File

@ -0,0 +1,51 @@
Subject: storage: do not throw exception if the volume or the pool don't exist
From: Giuseppe Scrivano gscrivan@redhat.com Thu May 7 13:42:00 2015 +0200
Date: Thu May 7 17:42:58 2015 +0200:
Git: ac2be79658ec5673d00ca9603db63b9b0de4fbd3
commit 5357b91402fb7a8a73921216926908c08f6ad99d changed the semantic of
conn.get_(vm|pool|interface|nodedev|net), to return None instead of
raising KeyError. Leave the exception handling code in case the
semantic is going to be reverted.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1219427
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Index: virt-manager-1.2.0/virtManager/delete.py
===================================================================
--- virt-manager-1.2.0.orig/virtManager/delete.py
+++ virt-manager-1.2.0/virtManager/delete.py
@@ -236,7 +236,11 @@ def populate_storage_list(storage_list,
if disk.source_pool:
try:
pool = conn.get_pool(disk.source_pool)
+ if pool is None:
+ return disk.path
vol = pool.get_volume(disk.path)
+ if vol is None:
+ return disk.path
return vol.get_target_path()
except KeyError:
return disk.path
Index: virt-manager-1.2.0/virtManager/details.py
===================================================================
--- virt-manager-1.2.0.orig/virtManager/details.py
+++ virt-manager-1.2.0/virtManager/details.py
@@ -2698,12 +2698,14 @@ class vmmDetails(vmmGObjectUI):
if not path:
size = "-"
else:
+ vol = None
if source_pool:
try:
pool = self.conn.get_pool(source_pool)
- vol = pool.get_volume(path)
+ if pool is not None:
+ vol = pool.get_volume(path)
except KeyError:
- vol = None
+ pass
else:
vol = self.conn.get_vol_by_path(path)

View File

@ -0,0 +1,23 @@
Subject: virtinst: enable qemu_ga for sles-11-sp4 and newer
From: Lin Ma lma@suse.com Wed May 20 09:26:44 2015 +0800
Date: Wed May 20 14:01:50 2015 -0400:
Git: bbc4f83bd3233617122ce89504f8cda8ddf88512
Qemu guest agent becomes available since sles 11 sp4 distro,
So enable qemu_ga while installing sles11sp4 and newer sles.
Signed-off-by: Lin Ma <lma@suse.com>
diff --git a/virtinst/osdict.py b/virtinst/osdict.py
index 57039b0..76c2260 100644
--- a/virtinst/osdict.py
+++ b/virtinst/osdict.py
@@ -514,7 +514,7 @@ class _OsVariant(object):
return False
def supports_qemu_ga(self):
- return self._is_related_to(["fedora18", "rhel6.0"])
+ return self._is_related_to(["fedora18", "rhel6.0", "sles11sp4"])
def default_videomodel(self, guest):
if guest.os.is_pseries():

View File

@ -0,0 +1,20 @@
Subject: pollhelpers: Fix VM polling on old libvirt
From: Michał Kępień michal.kepien@nask.pl Thu May 7 11:10:20 2015 -0400
Date: Thu May 7 11:10:20 2015 -0400:
Git: c4d26d16a65e0ce6b88323e13669c7c388397d7f
https://bugzilla.redhat.com/show_bug.cgi?id=1219443
diff --git a/virtinst/pollhelpers.py b/virtinst/pollhelpers.py
index 3eeada4..dafd079 100644
--- a/virtinst/pollhelpers.py
+++ b/virtinst/pollhelpers.py
@@ -268,7 +268,7 @@ def _old_fetch_vms(backend, origmap, build_func):
except:
logging.exception("Couldn't fetch domain '%s'", name)
- return (origmap, new, current)
+ return (origmap.values(), new.values(), current.values())
def fetch_vms(backend, origmap, build_func):

View File

@ -0,0 +1,34 @@
Subject: sshtunnels: fix exception when the address is not an IP
From: Giuseppe Scrivano gscrivan@redhat.com Wed May 6 12:52:40 2015 +0200
Date: Wed May 6 21:27:50 2015 +0200:
Git: ebcb7c064ca5a3afd2ec3a0c8f59328a7f71b009
bug introduced with commit a2d453f3e20d103a4767394300c5183fde9a6bb4
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1218958
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
diff --git a/virtManager/sshtunnels.py b/virtManager/sshtunnels.py
index 53f43be..03e1738 100644
--- a/virtManager/sshtunnels.py
+++ b/virtManager/sshtunnels.py
@@ -48,10 +48,16 @@ class ConnectionInfo(object):
self._connhost = "127.0.0.1"
def _is_listen_localhost(self, host=None):
- return ipaddr.IPNetwork(host or self.gaddr).is_loopback
+ try:
+ return ipaddr.IPNetwork(host or self.gaddr).is_loopback
+ except:
+ return False
def _is_listen_any(self):
- return ipaddr.IPNetwork(self.gaddr).is_unspecified
+ try:
+ return ipaddr.IPNetwork(self.gaddr).is_unspecified
+ except:
+ return False
def need_tunnel(self):
if not self._is_listen_localhost():

View File

@ -0,0 +1,51 @@
Subject: create: verify HYPER-V support after customization
From: Giuseppe Scrivano gscrivan@redhat.com Wed May 20 18:27:13 2015 +0200
Date: Wed May 20 22:48:33 2015 +0200:
Git: f8af2e6b1083ec38ffa143ce4d04751f6d543362
commit 938060ae5340f6e28dc9669ba1ab79a1aa3d615e moved default devices
setup to happen before UEFI is set invalidating what the commit
5acfccf6032abb9e8be89130d05b661e8b3f42c7 does.
Add another check to happen before installing the guest to disable
HYPER-V when not supported.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1185253
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Index: virt-manager-1.2.0/virtManager/create.py
===================================================================
--- virt-manager-1.2.0.orig/virtManager/create.py
+++ virt-manager-1.2.0/virtManager/create.py
@@ -1790,6 +1790,7 @@ class vmmCreate(vmmGObjectUI):
if not self.is_visible():
return
logging.debug("User finished customize dialog, starting install")
+ guest.check_defaults()
self.start_install(guest)
def config_canceled(ignore):
Index: virt-manager-1.2.0/virtinst/guest.py
===================================================================
--- virt-manager-1.2.0.orig/virtinst/guest.py
+++ virt-manager-1.2.0/virtinst/guest.py
@@ -814,6 +814,18 @@ class Guest(XMLBuilder):
return False
return True
+ def check_defaults(self):
+ # This is used only by virt-manager to reset any defaults that may have
+ # changed through manual intervention via the customize wizard.
+ if not self._hv_supported():
+ self.features.hyperv_relaxed = None
+ self.features.hyperv_vapic = None
+ self.features.hyperv_spinlocks = None
+ self.features.hyperv_spinlocks_retries = None
+ for i in self.clock.timers:
+ if i.name == "hypervclock":
+ self.clock.remove_timer(i)
+
def _set_feature_defaults(self):
if self.os.is_container():
self.features.acpi = None

View File

@ -0,0 +1,25 @@
Subject: add-hardware: fix shortcut key for USB redir dev type
From: Giuseppe Scrivano gscrivan@redhat.com Mon May 11 10:02:54 2015 +0200
Date: Mon May 11 10:17:11 2015 +0200:
Git: fbdf574c53fc0138d4f346b0dbfebff28117605a
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1172108
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
diff --git a/ui/addhardware.ui b/ui/addhardware.ui
index 54dc695..32beb4f 100644
--- a/ui/addhardware.ui
+++ b/ui/addhardware.ui
@@ -1373,9 +1373,10 @@
<object class="GtkLabel" id="label3213">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">1</property>
<property name="label" translatable="yes">_Type:</property>
<property name="use_underline">True</property>
- <property name="xalign">1</property>
+ <property name="mnemonic_widget">usbredir-list</property>
</object>
<packing>
<property name="left_attach">0</property>

View File

@ -1,3 +1,29 @@
-------------------------------------------------------------------
Wed May 20 13:14:27 MDT 2015 - carnold@suse.com
- Upstream bug fixes
776c1d97-fix-changing-USB-device-model.patch
bbc4f83b-enable-qemu_ga-for-sles-11-sp4-and-newer.patch
f8af2e6b-verify-HYPER-V-support-after-customization.patch
-------------------------------------------------------------------
Fri May 15 13:10:49 MDT 2015 - carnold@suse.com
- Upstream bug fixes
fbdf574c-fix-shortcut-key-for-USB-redir-dev-type.patch
2c1e482b-fix--show-host-summary-error-windows-flooding.patch
4b5c836a-read-start-mode-from-inactive-conf-XML.patch
-------------------------------------------------------------------
Fri May 8 11:08:49 MDT 2015 - carnold@suse.com
- Upstream bug fixes
848123e6-fix-memory-stats-for-shutoff-VM.patch
ebcb7c06-fix-exception-when-the-address-is-not-an-IP.patch
c4d26d16-fix-VM-polling-on-old-libvirt.patch
ac2be796-do-not-throw-exception-if-volume-or-pool-dont-exist.patch
88e18c86-fix-sending-net-removed-signal.patch
-------------------------------------------------------------------
Mon May 4 13:38:06 MDT 2015 - carnold@suse.com

View File

@ -37,6 +37,17 @@ Source0: %{name}-%{version}.tar.bz2
Source1: virt-install.rb
Source2: virt-install.desktop
# Upstream Patches
Patch1: 848123e6-fix-memory-stats-for-shutoff-VM.patch
Patch2: ebcb7c06-fix-exception-when-the-address-is-not-an-IP.patch
Patch3: c4d26d16-fix-VM-polling-on-old-libvirt.patch
Patch4: ac2be796-do-not-throw-exception-if-volume-or-pool-dont-exist.patch
Patch5: 88e18c86-fix-sending-net-removed-signal.patch
Patch6: fbdf574c-fix-shortcut-key-for-USB-redir-dev-type.patch
Patch7: 2c1e482b-fix--show-host-summary-error-windows-flooding.patch
Patch8: 4b5c836a-read-start-mode-from-inactive-conf-XML.patch
Patch9: 776c1d97-fix-changing-USB-device-model.patch
Patch10: bbc4f83b-enable-qemu_ga-for-sles-11-sp4-and-newer.patch
Patch11: f8af2e6b-verify-HYPER-V-support-after-customization.patch
# SUSE Only
Patch70: virtman-desktop.patch
Patch71: virtman-kvm.patch
@ -155,6 +166,17 @@ machine).
%prep
%setup -q
# Upstream Patches
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
# SUSE Only
%patch70 -p1
%patch71 -p1

View File

@ -75,7 +75,7 @@ Index: virt-manager-1.2.0/virtinst/guest.py
return
self.add_device(VirtualGraphics(self.conn))
@@ -948,7 +953,7 @@ class Guest(XMLBuilder):
@@ -960,7 +965,7 @@ class Guest(XMLBuilder):
if self._hv_only_supports_virtio():
return True

View File

@ -1,9 +1,9 @@
Enhancement to switch the label from 'Kickstart' to 'Autoyast' when
a suse distro is selected.
Index: virt-manager-1.1.0/virtManager/create.py
Index: virt-manager-1.2.0/virtManager/create.py
===================================================================
--- virt-manager-1.1.0.orig/virtManager/create.py
+++ virt-manager-1.1.0/virtManager/create.py
--- virt-manager-1.2.0.orig/virtManager/create.py
+++ virt-manager-1.2.0/virtManager/create.py
@@ -1242,11 +1242,34 @@ class vmmCreate(vmmGObjectUI):
self.populate_os_type_model()
return
@ -51,7 +51,7 @@ Index: virt-manager-1.1.0/virtManager/create.py
if extraargs:
self.guest.installer.extraargs = extraargs
@@ -2053,6 +2079,7 @@ class vmmCreate(vmmGObjectUI):
@@ -2054,6 +2080,7 @@ class vmmCreate(vmmGObjectUI):
dl = self.set_os_val(self.widget("install-os-type"), distro_type)
vl = self.set_os_val(self.widget("install-os-version"), distro_var)
self.set_distro_labels(dl, vl)
@ -59,10 +59,10 @@ Index: virt-manager-1.1.0/virtManager/create.py
def check_detection(self, idx, forward):
results = None
Index: virt-manager-1.1.0/ui/create.ui
Index: virt-manager-1.2.0/ui/create.ui
===================================================================
--- virt-manager-1.1.0.orig/ui/create.ui
+++ virt-manager-1.1.0/ui/create.ui
--- virt-manager-1.2.0.orig/ui/create.ui
+++ virt-manager-1.2.0/ui/create.ui
@@ -843,7 +843,7 @@ bar</property>
<property name="column_spacing">6</property>
<property name="row_spacing">4</property>

View File

@ -1,11 +1,11 @@
Reference: bnc#885094
grub.xen is required to boot Xen PV VMs using BTRFS. It belongs to
the grub2-x86_64-xen RPM and should never be deleted.
Index: virt-manager-1.1.0/virtManager/delete.py
Index: virt-manager-1.2.0/virtManager/delete.py
===================================================================
--- virt-manager-1.1.0.orig/virtManager/delete.py
+++ virt-manager-1.1.0/virtManager/delete.py
@@ -250,7 +250,7 @@ def populate_storage_list(storage_list,
--- virt-manager-1.2.0.orig/virtManager/delete.py
+++ virt-manager-1.2.0/virtManager/delete.py
@@ -254,7 +254,7 @@ def populate_storage_list(storage_list,
diskdata.append(("dtb", vm.get_xmlobj().os.dtb, True, False))
for target, path, ro, shared in diskdata: