- bsc#1055787 - virt-install: With PV ISO installs guests will hang

on first reboot
  virtinst-keep-install-iso-attached.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=360
This commit is contained in:
Charles Arnold 2017-08-25 21:12:42 +00:00 committed by Git OBS Bridge
parent 7927813b30
commit 4f78e3544f
5 changed files with 38 additions and 16 deletions

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Fri Aug 25 15:09:50 MDT 2017 - carnold@suse.com
- bsc#1055787 - virt-install: With PV ISO installs guests will hang
on first reboot
virtinst-keep-install-iso-attached.patch
-------------------------------------------------------------------
Thu Aug 24 15:56:38 MDT 2017 - carnold@suse.com

View File

@ -80,6 +80,7 @@ Patch165: virtinst-fix-sle-distro-parsing.patch
Patch166: virtinst-check-date-format.patch
Patch167: virtinst-no-usb-tablet-for-xenpv.patch
Patch168: virtinst-add-sle15-detection-support.patch
Patch169: virtinst-keep-install-iso-attached.patch
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -204,6 +205,7 @@ machine).
%patch166 -p1
%patch167 -p1
%patch168 -p1
%patch169 -p1
%build
%if %{qemu_user}

View File

@ -51,22 +51,17 @@ Index: virt-manager-1.4.2/virtinst/urlfetcher.py
dclass = OpensuseDistro
if distro_version is None:
distro_version = ['VERSION', distribution[0].strip().rsplit(':')[4]]
@@ -1034,6 +1047,9 @@ class SuseDistro(Distro):
# Tested with SLES 12 for ppc64le
self._hvm_kernel_paths.append(("boot/%s/linux" % self.arch,
"boot/%s/initrd" % self.arch))
+ # Tested with SLES 15
+ self._hvm_kernel_paths.append(("boot/%s/loader/linux" % self.arch,
+ "boot/%s/loader/initrd" % self.arch))
# Matches Opensuse > 10.2 and sles 10
if self.arch == "i386":
@@ -1042,6 +1058,8 @@ class SuseDistro(Distro):
@@ -1040,8 +1053,11 @@ class SuseDistro(Distro):
self._xen_kernel_paths = [("boot/%s/vmlinuz-xenpae" % self.arch,
"boot/%s/initrd-xenpae" % self.arch)]
else:
self._xen_kernel_paths = [("boot/%s/vmlinuz-xen" % self.arch,
"boot/%s/initrd-xen" % self.arch)]
+ self._xen_kernel_paths.append(("boot/%s/loader/linux" % self.arch,
+ "boot/%s/loader/initrd" % self.arch))
- self._xen_kernel_paths = [("boot/%s/vmlinuz-xen" % self.arch,
- "boot/%s/initrd-xen" % self.arch)]
+ self._xen_kernel_paths = [("boot/%s/loader/linux" % self.arch,
+ "boot/%s/loader/initrd" % self.arch)]
+ # By appending this gets searched for first
+ self._xen_kernel_paths.append(("boot/%s/vmlinuz-xen" % self.arch,
+ "boot/%s/initrd-xen" % self.arch))
def _variantFromVersion(self):
distro_version = self.version_from_content[1].strip()

View File

@ -0,0 +1,18 @@
Older SLE guests have a two stage installation that need the ISO.
Newer SLE PV guests hang when a cdrom device is attached without
an ISO file.
Index: virt-manager-1.4.2/virtinst/guest.py
===================================================================
--- virt-manager-1.4.2.orig/virtinst/guest.py
+++ virt-manager-1.4.2/virtinst/guest.py
@@ -804,7 +804,8 @@ class Guest(XMLBuilder):
# install.
if (dev.is_cdrom() and
getattr(dev, "installer_media", False) and
- not self._os_object.is_windows()):
+ not self._os_object.is_windows() and
+ not self.os_variant.startswith(("sles", "sled", "opensuse"))):
dev.path = None
def _set_defaults(self):

View File

@ -16,7 +16,7 @@ Index: virt-manager-1.4.2/virtinst/guest.py
+ if self.os.arch != 'x86_64' or os_ver.startswith("sles9") or \
+ os_ver.startswith("sles10") or os_ver.startswith("sled10") or \
+ os_ver.startswith("opensuse10") or os_ver.startswith("opensuse11"):
+ self.bootloader = "/usr/bin/pygrub"
+ self.bootloader = "pygrub"
+ self.os.clear()
+ else:
+ self.installer._install_kernel = "/usr/lib/grub2/x86_64-xen/grub.xen"