- Upstream bug fixes
5332ee4d-enable-media-detection-for-ISO-images.patch 53341e7e-hide-hardware-removal-for-non-devices.patch 53342f31-set-right-ip-address-for-ipv6.patch - bnc#870098 - virt-manager+x show wrong number of assigned cpu's virtman-init-vm-processor-topology.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=157
This commit is contained in:
parent
f5a0b7e2e9
commit
4f22f7f4d5
88
5332ee4d-enable-media-detection-for-ISO-images.patch
Normal file
88
5332ee4d-enable-media-detection-for-ISO-images.patch
Normal file
@ -0,0 +1,88 @@
|
||||
Subject: virt-manager: enable media detection for CD/ISO images
|
||||
From: Giuseppe Scrivano gscrivan@redhat.com Tue Mar 25 14:31:08 2014 +0100
|
||||
Date: Wed Mar 26 16:12:13 2014 +0100:
|
||||
Git: 6b5171031e7e688fd9c1c44aeec599dcb1a9e6cd
|
||||
|
||||
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
|
||||
|
||||
Index: virt-manager-1.0.1/virtManager/create.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1.orig/virtManager/create.py
|
||||
+++ virt-manager-1.0.1/virtManager/create.py
|
||||
@@ -132,7 +132,7 @@ class vmmCreate(vmmGObjectUI):
|
||||
"on_install_url_box_changed": self.url_box_changed,
|
||||
"on_install_local_cdrom_toggled": self.toggle_local_cdrom,
|
||||
"on_install_local_cdrom_combo_changed": self.detect_media_os,
|
||||
- "on_install_local_box_changed": self.detect_media_os,
|
||||
+ "on_install_local_box_changed": self.local_box_changed,
|
||||
"on_install_local_browse_clicked": self.browse_iso,
|
||||
"on_install_import_browse_clicked": self.browse_import,
|
||||
"on_install_app_browse_clicked": self.browse_app,
|
||||
@@ -543,6 +543,11 @@ class vmmCreate(vmmGObjectUI):
|
||||
|
||||
self.mediacombo = vmmMediaCombo(self.conn, self.builder, self.topwin,
|
||||
MEDIA_CDROM)
|
||||
+ def mediacombo_changed(src):
|
||||
+ ignore = src
|
||||
+ self.mediaDetected = False
|
||||
+ self.detect_media_os()
|
||||
+ self.mediacombo.combo.connect("changed", mediacombo_changed)
|
||||
self.mediacombo.reset_state()
|
||||
self.widget("install-local-cdrom-align").add(
|
||||
self.mediacombo.top_box)
|
||||
@@ -1109,16 +1114,22 @@ class vmmCreate(vmmGObjectUI):
|
||||
|
||||
self.change_caps(self.capsguest.os_type, arch)
|
||||
|
||||
- def url_box_changed(self, ignore):
|
||||
+ def media_box_changed(self, widget):
|
||||
self.mediaDetected = False
|
||||
|
||||
- # If the url_entry has focus, don't fire detect_media_os, it means
|
||||
+ # If the widget has focus, don't fire detect_media_os, it means
|
||||
# the user is probably typing
|
||||
- if self.widget("install-url-box").get_child().has_focus():
|
||||
+ if self.widget(widget).get_child().has_focus():
|
||||
return
|
||||
|
||||
self.detect_media_os()
|
||||
|
||||
+ def url_box_changed(self, ignore):
|
||||
+ self.media_box_changed("install-url-box")
|
||||
+
|
||||
+ def local_box_changed(self, ignore):
|
||||
+ self.media_box_changed("install-local-box")
|
||||
+
|
||||
def should_detect_media(self):
|
||||
return (self.is_detect_active() and not self.mediaDetected)
|
||||
|
||||
@@ -1182,6 +1193,7 @@ class vmmCreate(vmmGObjectUI):
|
||||
is_active = src.get_active()
|
||||
if is_active and self.mediacombo.get_path():
|
||||
# Local CDROM was selected with media preset, detect distro
|
||||
+ self.mediaDetected = False
|
||||
self.detect_media_os()
|
||||
|
||||
self.widget("install-local-cdrom-align").set_sensitive(is_active)
|
||||
@@ -1190,6 +1202,8 @@ class vmmCreate(vmmGObjectUI):
|
||||
uselocal = src.get_active()
|
||||
self.widget("install-local-box").set_sensitive(uselocal)
|
||||
self.widget("install-local-browse").set_sensitive(uselocal)
|
||||
+ self.mediaDetected = False
|
||||
+ self.detect_media_os()
|
||||
|
||||
def detect_visibility_changed(self, src, ignore=None):
|
||||
is_visible = src.get_visible()
|
||||
@@ -1241,11 +1255,7 @@ class vmmCreate(vmmGObjectUI):
|
||||
INSTALL_PAGE_CONTAINER_OS]
|
||||
osbox.set_visible(iscontainer)
|
||||
|
||||
- # Detection only works/ is valid for URL,
|
||||
- # FIXME: Also works for CDROM if running as root (since we need to
|
||||
- # mount the iso/cdrom), but we should probably make this work for
|
||||
- # more distros (like windows) before we enable it
|
||||
- if (instpage == INSTALL_PAGE_URL):
|
||||
+ if instpage in (INSTALL_PAGE_ISO, INSTALL_PAGE_URL):
|
||||
detectbox.show()
|
||||
else:
|
||||
detectbox.hide()
|
61
53341e7e-hide-hardware-removal-for-non-devices.patch
Normal file
61
53341e7e-hide-hardware-removal-for-non-devices.patch
Normal file
@ -0,0 +1,61 @@
|
||||
Subject: virtManager: hide "Remove Hardware" for non-devices
|
||||
From: Giuseppe Scrivano gscrivan@redhat.com Thu Mar 27 12:40:42 2014 +0100
|
||||
Date: Thu Mar 27 13:50:06 2014 +0100:
|
||||
Git: 37eecb215d137ffb6e98f36adfa37f96220d7287
|
||||
|
||||
The menu item "Remove Hardware" in the Overview window is valid only
|
||||
when a hardware device is selected, hide it in any other case.
|
||||
|
||||
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1081373
|
||||
|
||||
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
|
||||
|
||||
diff --git a/virtManager/details.py b/virtManager/details.py
|
||||
index c1833ae..8c72efa 100644
|
||||
--- a/virtManager/details.py
|
||||
+++ b/virtManager/details.py
|
||||
@@ -530,6 +530,7 @@ class vmmDetails(vmmGObjectUI):
|
||||
|
||||
self.oldhwkey = None
|
||||
self.addhwmenu = None
|
||||
+ self._addhwmenuitems = None
|
||||
self.keycombo_menu = None
|
||||
self.init_menus()
|
||||
self.init_details()
|
||||
@@ -706,6 +707,7 @@ class vmmDetails(vmmGObjectUI):
|
||||
self.vm = None
|
||||
self.conn = None
|
||||
self.addhwmenu = None
|
||||
+ self._addhwmenuitems = None
|
||||
|
||||
self.gfxdetails.cleanup()
|
||||
self.gfxdetails = None
|
||||
@@ -801,8 +803,9 @@ class vmmDetails(vmmGObjectUI):
|
||||
rmHW.show()
|
||||
rmHW.connect("activate", self.remove_xml_dev)
|
||||
|
||||
- self.addhwmenu.add(addHW)
|
||||
- self.addhwmenu.add(rmHW)
|
||||
+ self._addhwmenuitems = {"add" : addHW, "remove" : rmHW}
|
||||
+ for i in self._addhwmenuitems.values():
|
||||
+ self.addhwmenu.add(i)
|
||||
|
||||
# Don't allowing changing network/disks for Dom0
|
||||
dom0 = self.vm.is_management_domain()
|
||||
@@ -1075,6 +1078,16 @@ class vmmDetails(vmmGObjectUI):
|
||||
if event.button != 3:
|
||||
return
|
||||
|
||||
+ devobj = self.get_hw_selection(HW_LIST_COL_DEVICE)
|
||||
+ if not devobj:
|
||||
+ return
|
||||
+
|
||||
+ rmdev = self._addhwmenuitems["remove"]
|
||||
+ if hasattr(devobj, "virtual_device_type"):
|
||||
+ rmdev.show()
|
||||
+ else:
|
||||
+ rmdev.hide()
|
||||
+
|
||||
self.addhwmenu.popup(None, None, None, None, 0, event.time)
|
||||
|
||||
def control_fullscreen(self, src):
|
28
53342f31-set-right-ip-address-for-ipv6.patch
Normal file
28
53342f31-set-right-ip-address-for-ipv6.patch
Normal file
@ -0,0 +1,28 @@
|
||||
Subject: createinterface: set right ip address for ipv6
|
||||
From: Chen Hanxiao chenhanxiao@cn.fujitsu.com Thu Mar 27 22:01:21 2014 +0800
|
||||
Date: Thu Mar 27 22:01:21 2014 +0800:
|
||||
Git: 58d8795b27b792bbbc89b93ac9333253df205943
|
||||
|
||||
We use v4_addr for building ipv6 addr.
|
||||
This patch will use right ip address for ipv6.
|
||||
|
||||
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
|
||||
|
||||
diff --git a/virtManager/createinterface.py b/virtManager/createinterface.py
|
||||
index 77fb6e1..11fc9b2 100644
|
||||
--- a/virtManager/createinterface.py
|
||||
+++ b/virtManager/createinterface.py
|
||||
@@ -818,9 +818,10 @@ class vmmCreateInterface(vmmGObjectUI):
|
||||
if not ipv6.dhcp:
|
||||
if v6_gate:
|
||||
ipv6.gateway = v6_gate
|
||||
- addr, prefix = build_ip(v4_addr)
|
||||
- if addr:
|
||||
- ipv6.add_ip(addr, prefix)
|
||||
+ for v6_addr in v6_addrlist:
|
||||
+ addr, prefix = build_ip(v6_addr)
|
||||
+ if addr:
|
||||
+ ipv6.add_ip(addr, prefix)
|
||||
|
||||
return [is_manual, copy_name, ipv4, ipv6, proto_xml]
|
||||
|
@ -1,3 +1,17 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 27 08:28:21 MDT 2014 - carnold@suse.com
|
||||
|
||||
- Upstream bug fixes
|
||||
5332ee4d-enable-media-detection-for-ISO-images.patch
|
||||
53341e7e-hide-hardware-removal-for-non-devices.patch
|
||||
53342f31-set-right-ip-address-for-ipv6.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 26 16:36:28 MDT 2014 - carnold@suse.com
|
||||
|
||||
- bnc#870098 - virt-manager+x show wrong number of assigned cpu's
|
||||
virtman-init-vm-processor-topology.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 24 13:58:36 MDT 2014 - carnold@suse.com
|
||||
|
||||
|
@ -36,6 +36,9 @@ Url: http://virt-manager.org/
|
||||
Source0: %{name}-%{version}.tar.bz2
|
||||
Source1: virt-install.rb
|
||||
Source2: virt-install.desktop
|
||||
Patch1: 5332ee4d-enable-media-detection-for-ISO-images.patch
|
||||
Patch2: 53341e7e-hide-hardware-removal-for-non-devices.patch
|
||||
Patch3: 53342f31-set-right-ip-address-for-ipv6.patch
|
||||
Patch50: virtman-desktop.patch
|
||||
Patch51: virtman-cdrom.patch
|
||||
Patch52: virtman-kvm.patch
|
||||
@ -56,6 +59,7 @@ Patch72: virtman-packages.patch
|
||||
Patch73: virtman-load-stored-uris.patch
|
||||
Patch74: virtman-libvirtd-not-running.patch
|
||||
Patch75: virtman-stable-os-support.patch
|
||||
Patch76: virtman-init-vm-processor-topology.patch
|
||||
Patch150: virtinst-cdrom.patch
|
||||
Patch151: virtinst-storage-ocfs2.patch
|
||||
Patch152: virtinst-qed.patch
|
||||
@ -155,6 +159,9 @@ machine).
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch50 -p1
|
||||
%patch51 -p1
|
||||
%patch52 -p1
|
||||
@ -175,6 +182,7 @@ machine).
|
||||
%patch73 -p1
|
||||
%patch74 -p1
|
||||
%patch75 -p1
|
||||
%patch76 -p1
|
||||
#%patch150 -p1 use 'c' for cdrom
|
||||
%patch151 -p1
|
||||
%patch152 -p1
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: virt-manager-1.0.0/virtinst/urlfetcher.py
|
||||
Index: virt-manager-1.0.1/virtinst/urlfetcher.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.0.orig/virtinst/urlfetcher.py
|
||||
+++ virt-manager-1.0.0/virtinst/urlfetcher.py
|
||||
--- virt-manager-1.0.1.orig/virtinst/urlfetcher.py
|
||||
+++ virt-manager-1.0.1/virtinst/urlfetcher.py
|
||||
@@ -296,6 +296,68 @@ def _distroFromTreeinfo(fetcher, arch, v
|
||||
|
||||
return ob
|
||||
@ -96,7 +96,7 @@ Index: virt-manager-1.0.0/virtinst/urlfetcher.py
|
||||
Distro.__init__(self, *args, **kwargs)
|
||||
if re.match(r'i[4-9]86', self.arch):
|
||||
self.arch = 'i386'
|
||||
@@ -824,18 +889,32 @@ class SuseDistro(Distro):
|
||||
@@ -824,18 +889,34 @@ class SuseDistro(Distro):
|
||||
oldkern += "64"
|
||||
oldinit += "64"
|
||||
|
||||
@ -129,6 +129,8 @@ Index: virt-manager-1.0.0/virtinst/urlfetcher.py
|
||||
|
||||
def isValidStore(self):
|
||||
+ # self.content is the VERSION line from the contents file
|
||||
+ if self.content is None or self.content[1] is None:
|
||||
+ return False
|
||||
+ distro_version = self.content[1]
|
||||
+ version = distro_version.split('.', 1)[0].strip()
|
||||
+ if int(version) >= 10:
|
||||
@ -139,7 +141,7 @@ Index: virt-manager-1.0.0/virtinst/urlfetcher.py
|
||||
if not self.fetcher.hasFile("directory.yast"):
|
||||
return False
|
||||
|
||||
@@ -860,6 +939,27 @@ class SuseDistro(Distro):
|
||||
@@ -860,6 +941,27 @@ class SuseDistro(Distro):
|
||||
return name
|
||||
return self.os_variant
|
||||
|
||||
|
@ -2,14 +2,15 @@ Index: virt-manager-1.0.1/virtinst/guest.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1.orig/virtinst/guest.py
|
||||
+++ virt-manager-1.0.1/virtinst/guest.py
|
||||
@@ -331,7 +331,15 @@ class Guest(XMLBuilder):
|
||||
@@ -331,7 +331,16 @@ class Guest(XMLBuilder):
|
||||
this.)
|
||||
@type disk_boot: C{bool}
|
||||
"""
|
||||
- osblob_install = install and not disk_boot
|
||||
+ boot_pvgrub2 = False
|
||||
+ if install == False and self.os.is_xenpv():
|
||||
+ os_ver = self._get_os_variant()
|
||||
+ if install == False and (os_ver == "sles12" or os_ver == "sled12"):
|
||||
+ if os_ver == "sles12" or os_ver == "sled12":
|
||||
+ boot_pvgrub2 = True
|
||||
+ self.installer._install_kernel = "/usr/lib/grub2/x86_64-xen/grub.xen"
|
||||
+ self.installer._install_initrd = None
|
||||
@ -19,7 +20,7 @@ Index: virt-manager-1.0.1/virtinst/guest.py
|
||||
if osblob_install and not self.installer.has_install_phase():
|
||||
return None
|
||||
|
||||
@@ -348,7 +356,8 @@ class Guest(XMLBuilder):
|
||||
@@ -348,7 +357,8 @@ class Guest(XMLBuilder):
|
||||
if (not install and
|
||||
self.os.is_xenpv() and
|
||||
not self.os.kernel):
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: virt-manager-1.0.0/virtManager/details.py
|
||||
Index: virt-manager-1.0.1/virtManager/details.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1/virtManager/details.py.orig 2014-03-22 16:46:50.641411724 -0600
|
||||
+++ virt-manager-1.0.1/virtManager/details.py 2014-03-22 16:55:45.703098510 -0600
|
||||
@@ -2034,10 +2034,10 @@ class vmmDetails(vmmGObjectUI):
|
||||
--- virt-manager-1.0.1.orig/virtManager/details.py
|
||||
+++ virt-manager-1.0.1/virtManager/details.py
|
||||
@@ -2047,10 +2047,10 @@ class vmmDetails(vmmGObjectUI):
|
||||
return self._change_config_helper(self.vm.define_memory, kwargs,
|
||||
hotplug_args=hotplug_args)
|
||||
|
||||
@ -17,7 +17,7 @@ Index: virt-manager-1.0.0/virtManager/details.py
|
||||
auto = self.widget("config-autostart")
|
||||
try:
|
||||
self.vm.set_autostart(auto.get_active())
|
||||
@@ -2046,6 +2046,9 @@ class vmmDetails(vmmGObjectUI):
|
||||
@@ -2059,6 +2059,9 @@ class vmmDetails(vmmGObjectUI):
|
||||
(_("Error changing autostart value: %s") % str(e)))
|
||||
return False
|
||||
|
||||
@ -27,7 +27,7 @@ Index: virt-manager-1.0.0/virtManager/details.py
|
||||
if self.edited(EDIT_BOOTORDER):
|
||||
kwargs["boot_order"] = self.get_config_boot_order()
|
||||
|
||||
@@ -2359,6 +2362,8 @@ class vmmDetails(vmmGObjectUI):
|
||||
@@ -2372,6 +2375,8 @@ class vmmDetails(vmmGObjectUI):
|
||||
buttons=Gtk.ButtonsType.OK,
|
||||
dialog_type=dtype)
|
||||
|
||||
|
@ -2,7 +2,7 @@ Index: virt-manager-1.0.1/virtManager/create.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1.orig/virtManager/create.py
|
||||
+++ virt-manager-1.0.1/virtManager/create.py
|
||||
@@ -1216,11 +1216,34 @@ class vmmCreate(vmmGObjectUI):
|
||||
@@ -1227,11 +1227,34 @@ class vmmCreate(vmmGObjectUI):
|
||||
variant = self.widget("install-os-version")
|
||||
variant.set_active(0)
|
||||
|
||||
@ -37,7 +37,7 @@ Index: virt-manager-1.0.1/virtManager/create.py
|
||||
# Get previous
|
||||
type_row = self._selected_os_row()
|
||||
if not type_row:
|
||||
@@ -1575,7 +1598,10 @@ class vmmCreate(vmmGObjectUI):
|
||||
@@ -1585,7 +1608,10 @@ class vmmCreate(vmmGObjectUI):
|
||||
if extra:
|
||||
extraargs += extra
|
||||
if ks:
|
||||
@ -49,7 +49,7 @@ Index: virt-manager-1.0.1/virtManager/create.py
|
||||
|
||||
if extraargs:
|
||||
self.guest.installer.extraargs = extraargs
|
||||
@@ -1971,6 +1997,7 @@ class vmmCreate(vmmGObjectUI):
|
||||
@@ -1981,6 +2007,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)
|
||||
|
@ -11,7 +11,7 @@ Index: virt-manager-1.0.1/virtManager/create.py
|
||||
|
||||
# pylint: disable=E0611
|
||||
from gi.repository import GObject
|
||||
@@ -1129,6 +1131,55 @@ class vmmCreate(vmmGObjectUI):
|
||||
@@ -1140,6 +1142,55 @@ class vmmCreate(vmmGObjectUI):
|
||||
return
|
||||
self.start_detection(forward=forward)
|
||||
|
||||
@ -67,7 +67,7 @@ Index: virt-manager-1.0.1/virtManager/create.py
|
||||
def toggle_detect_os(self, src):
|
||||
dodetect = src.get_active()
|
||||
|
||||
@@ -1140,6 +1191,8 @@ class vmmCreate(vmmGObjectUI):
|
||||
@@ -1151,6 +1202,8 @@ class vmmCreate(vmmGObjectUI):
|
||||
if dodetect:
|
||||
self.mediaDetected = False
|
||||
self.detect_media_os()
|
||||
|
@ -2,7 +2,7 @@ Index: virt-manager-1.0.1/virtManager/create.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1.orig/virtManager/create.py
|
||||
+++ virt-manager-1.0.1/virtManager/create.py
|
||||
@@ -857,7 +857,12 @@ class vmmCreate(vmmGObjectUI):
|
||||
@@ -862,7 +862,12 @@ class vmmCreate(vmmGObjectUI):
|
||||
if gtype is None:
|
||||
# If none specified, prefer HVM so install options aren't limited
|
||||
# with a default PV choice.
|
||||
|
@ -25,7 +25,7 @@ Index: virt-manager-1.0.1/virtManager/details.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1.orig/virtManager/details.py
|
||||
+++ virt-manager-1.0.1/virtManager/details.py
|
||||
@@ -2268,6 +2268,17 @@ class vmmDetails(vmmGObjectUI):
|
||||
@@ -2281,6 +2281,17 @@ class vmmDetails(vmmGObjectUI):
|
||||
text1=(_("Are you sure you want to remove this device?"))):
|
||||
return
|
||||
|
||||
|
33
virtman-init-vm-processor-topology.patch
Normal file
33
virtman-init-vm-processor-topology.patch
Normal file
@ -0,0 +1,33 @@
|
||||
Index: virt-manager-1.0.1/virtManager/details.py
|
||||
===================================================================
|
||||
--- virt-manager-1.0.1.orig/virtManager/details.py
|
||||
+++ virt-manager-1.0.1/virtManager/details.py
|
||||
@@ -2564,13 +2564,6 @@ class vmmDetails(vmmGObjectUI):
|
||||
def refresh_config_cpu(self):
|
||||
conn = self.vm.conn
|
||||
host_active_count = conn.host_active_processor_count()
|
||||
- maxvcpus = self.vm.vcpu_max_count()
|
||||
- curvcpus = self.vm.vcpu_count()
|
||||
-
|
||||
- curadj = self.widget("config-vcpus")
|
||||
- maxadj = self.widget("config-maxvcpus")
|
||||
- curadj.set_value(int(curvcpus))
|
||||
- maxadj.set_value(int(maxvcpus))
|
||||
|
||||
self.widget("state-host-cpus").set_text(str(host_active_count))
|
||||
|
||||
@@ -2592,6 +2585,14 @@ class vmmDetails(vmmGObjectUI):
|
||||
if show_top:
|
||||
self.widget("cpu-topology-expander").set_expanded(True)
|
||||
|
||||
+ maxvcpus = self.vm.vcpu_max_count()
|
||||
+ curvcpus = self.vm.vcpu_count()
|
||||
+
|
||||
+ curadj = self.widget("config-vcpus")
|
||||
+ maxadj = self.widget("config-maxvcpus")
|
||||
+ curadj.set_value(int(curvcpus))
|
||||
+ maxadj.set_value(int(maxvcpus))
|
||||
+
|
||||
model = cpu.model or None
|
||||
if not model:
|
||||
if cpu.mode == "host-model" or cpu.mode == "host-passthrough":
|
Loading…
Reference in New Issue
Block a user