- boo#981836 - virt-manager does not support all boot methods for

AArch64
  5ecc2b44-dont-clear-recommended-machine-if-none-is-selected.patch
  de9cd87f-return-recommended-machine-for-XEN.patch
  0acdea1d-show-firmware-options-also-for-XEN-guests.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=317
This commit is contained in:
Charles Arnold 2016-06-16 15:57:44 +00:00 committed by Git OBS Bridge
parent 2b5122431c
commit b58945c840
7 changed files with 120 additions and 56 deletions

View File

@ -0,0 +1,23 @@
Subject: virtManager.details: show firmware options also for XEN guests
From: Pavel Hrdina phrdina@redhat.com Thu Jun 16 12:03:42 2016 +0200
Date: Thu Jun 16 12:16:53 2016 +0200:
Git: 0acdea1dadfdaa3f6ee159bf5fdb20c6e8ccd528
Index: virt-manager-1.3.2/virtManager/details.py
===================================================================
--- virt-manager-1.3.2.orig/virtManager/details.py
+++ virt-manager-1.3.2/virtManager/details.py
@@ -843,8 +843,10 @@ class vmmDetails(vmmGObjectUI):
self.widget("overview-firmware").set_visible(self.is_customize_dialog)
self.widget("overview-firmware-label").set_visible(
not self.is_customize_dialog)
- show_firmware = ((self.conn.is_qemu() or self.conn.is_test_conn()) and
- domcaps.arch_can_uefi())
+ show_firmware = ((self.conn.is_qemu() or
+ self.conn.is_test_conn() or
+ self.conn.is_xen()) and
+ domcaps.arch_can_uefi())
uiutil.set_grid_row_visible(
self.widget("overview-firmware-title"), show_firmware)

View File

@ -0,0 +1,27 @@
Subject: virtManager.create: don't clear recommended machine if none is selected
From: Pavel Hrdina phrdina@redhat.com Thu Jun 16 11:04:36 2016 +0200
Date: Thu Jun 16 12:00:10 2016 +0200:
Git: 5ecc2b440a8e34e00a0c4192c94030428102f0cb
This improves loading domcapabilities to get domcapabilities for recommended
machine, not for default machine.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Index: virt-manager-1.3.2/virtManager/create.py
===================================================================
--- virt-manager-1.3.2.orig/virtManager/create.py
+++ virt-manager-1.3.2/virtManager/create.py
@@ -1636,7 +1636,11 @@ class vmmCreate(vmmGObjectUI):
def _build_guest(self, variant):
guest = self.conn.caps.build_virtinst_guest(self._capsinfo)
- guest.os.machine = self._get_config_machine()
+
+ # If no machine was selected don't clear recommended machine
+ machine = self._get_config_machine()
+ if machine:
+ guest.os.machine = machine
# Generate UUID (makes customize dialog happy)
try:

View File

@ -0,0 +1,57 @@
Subject: virtinst.capabilities: return recommended machine for XEN
From: Pavel Hrdina phrdina@redhat.com Thu Jun 16 12:00:51 2016 +0200
Date: Thu Jun 16 12:16:49 2016 +0200:
Git: de9cd87fda742dfd5e9a14cf4b68c60e574d3e3d
This is required in order to ask for correct domcapabilities. If you don't
specify any machine libvirt will return domcapabilities for default machine
which is xenpv.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Index: virt-manager-1.3.2/tests/cli-test-xml/compare/virt-install-xen-hvm.xml
===================================================================
--- virt-manager-1.3.2.orig/tests/cli-test-xml/compare/virt-install-xen-hvm.xml
+++ virt-manager-1.3.2/tests/cli-test-xml/compare/virt-install-xen-hvm.xml
@@ -5,7 +5,7 @@
<currentMemory>65536</currentMemory>
<vcpu>1</vcpu>
<os>
- <type arch="x86_64">hvm</type>
+ <type arch="x86_64" machine="xenfv">hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<boot dev="cdrom"/>
<boot dev="hd"/>
Index: virt-manager-1.3.2/tests/cli-test-xml/compare/virt-install-xen-pv.xml
===================================================================
--- virt-manager-1.3.2.orig/tests/cli-test-xml/compare/virt-install-xen-pv.xml
+++ virt-manager-1.3.2/tests/cli-test-xml/compare/virt-install-xen-pv.xml
@@ -5,7 +5,7 @@
<currentMemory>65536</currentMemory>
<vcpu>1</vcpu>
<os>
- <type arch="x86_64">linux</type>
+ <type arch="x86_64" machine="xenpv">linux</type>
<kernel>/tmp/virtinst-vmlinuz.</kernel>
<initrd>/tmp/virtinst-initrd.img.</initrd>
<cmdline>method=tests/cli-test-xml/faketree</cmdline>
Index: virt-manager-1.3.2/virtinst/capabilities.py
===================================================================
--- virt-manager-1.3.2.orig/virtinst/capabilities.py
+++ virt-manager-1.3.2/virtinst/capabilities.py
@@ -350,9 +350,14 @@ class _CapsInfo(object):
# For any other HV just let libvirt get us the default, these
# are the only ones we've tested.
- if not self.conn.is_test() and not self.conn.is_qemu():
+ if (not self.conn.is_test() and
+ not self.conn.is_qemu() and
+ not self.conn.is_xen()):
return None
+ if self.conn.is_xen() and len(self.machines):
+ return self.machines[0]
+
if (self.arch in ["ppc64", "ppc64le"] and
"pseries" in self.machines):
return "pseries"

View File

@ -3,7 +3,9 @@ Tue Jun 14 16:08:05 MDT 2016 - carnold@suse.com
- boo#981836 - virt-manager does not support all boot methods for
AArch64
virtinst-support-other-boot-methods.patch
5ecc2b44-dont-clear-recommended-machine-if-none-is-selected.patch
de9cd87f-return-recommended-machine-for-XEN.patch
0acdea1d-show-firmware-options-also-for-XEN-guests.patch
-------------------------------------------------------------------
Tue Jun 7 14:18:32 MDT 2016 - carnold@suse.com

View File

@ -44,6 +44,9 @@ Patch4: 1c221fd0-suse-ovmf-paths.patch
Patch5: f11eb00b-virt-convert-decompress-gz-files-before-converting.patch
Patch6: 8ba48f52-add-virtio-device-model-and-accel3d-attribute.patch
Patch7: f454798b-virtman-fix-making-screenshot.patch
Patch8: 5ecc2b44-dont-clear-recommended-machine-if-none-is-selected.patch
Patch9: de9cd87f-return-recommended-machine-for-XEN.patch
Patch10: 0acdea1d-show-firmware-options-also-for-XEN-guests.patch
# SUSE Only
Patch70: virtman-desktop.patch
Patch71: virtman-kvm.patch
@ -81,7 +84,6 @@ Patch162: virtinst-refresh_before_fetch_pool.patch
Patch163: virtinst-fix-sle12sp1-detection.patch
Patch164: virtinst-fix-tumbleweed-detection.patch
Patch165: virtinst-use-xenpae-kernel-for-32bit.patch
Patch166: virtinst-support-other-boot-methods.patch
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -170,6 +172,9 @@ machine).
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
# SUSE Only
%patch70 -p1
%patch71 -p1
@ -207,7 +212,6 @@ machine).
%patch163 -p1
%patch164 -p1
%patch165 -p1
%patch166 -p1
%build
%if %{qemu_user}

View File

@ -1,49 +0,0 @@
References: boo#981836
Tell libvirt what machine type the user chose for Xen (PV or HVM).
Without a type specified, the default is to return the capabilities of a pv
machine. This will allow the UEFI Customize option to show up when Xen HVM
is selected. Also specify the name of our aavmf firmware for aarch64.
Index: virt-manager-1.3.2/virtinst/domcapabilities.py
===================================================================
--- virt-manager-1.3.2.orig/virtinst/domcapabilities.py
+++ virt-manager-1.3.2/virtinst/domcapabilities.py
@@ -73,13 +73,20 @@ class _Devices(_CapsBlock):
class DomainCapabilities(XMLBuilder):
@staticmethod
- def build_from_params(conn, emulator, arch, machine, hvtype):
+ def build_from_params(conn, emulator, arch, machine, hvtype, os_type):
xml = None
if conn.check_support(
conn.SUPPORT_CONN_DOMAIN_CAPABILITIES):
+ machine_type = machine
+ # For Xen capabilities pass either xenpv or xenfv
+ if hvtype == "xen":
+ if os_type == "hvm":
+ machine_type = "xenfv"
+ else:
+ machine_type = "xenpv"
try:
xml = conn.getDomainCapabilities(emulator, arch,
- machine, hvtype)
+ machine_type, hvtype)
except:
logging.debug("Error fetching domcapabilities XML",
exc_info=True)
@@ -92,7 +99,7 @@ class DomainCapabilities(XMLBuilder):
@staticmethod
def build_from_guest(guest):
return DomainCapabilities.build_from_params(guest.conn,
- guest.emulator, guest.os.arch, guest.os.machine, guest.type)
+ guest.emulator, guest.os.arch, guest.os.machine, guest.type, guest.os.os_type)
# Mapping of UEFI binary names to their associated architectures. We
# only use this info to do things automagically for the user, it shouldn't
@@ -106,6 +113,7 @@ class DomainCapabilities(XMLBuilder):
"aarch64": [
".*AAVMF_CODE\.fd", # RHEL
".*aarch64/QEMU_EFI.*", # gerd's firmware repo
+ ".*aavmf-aarch64-.*" # SUSE
],
}

View File

@ -3,11 +3,11 @@ When the 'Power on virtual machine' button is double clicked,
virt-manager issues two start commands to start the VM which
results in a failure. There is code elsewhere to desensitize the
button but this patch does it earlier.
Index: virt-manager-1.3.0/virtManager/details.py
Index: virt-manager-1.3.2/virtManager/details.py
===================================================================
--- virt-manager-1.3.0.orig/virtManager/details.py
+++ virt-manager-1.3.0/virtManager/details.py
@@ -1414,6 +1414,9 @@ class vmmDetails(vmmGObjectUI):
--- virt-manager-1.3.2.orig/virtManager/details.py
+++ virt-manager-1.3.2/virtManager/details.py
@@ -1416,6 +1416,9 @@ class vmmDetails(vmmGObjectUI):
self.widget("details-menu-usb-redirection").set_sensitive(can_usb)
def control_vm_run(self, src_ignore):