From 4f78e3544f5f6f050a93bf97ebe7f4bff44cfd6b Mon Sep 17 00:00:00 2001 From: Charles Arnold Date: Fri, 25 Aug 2017 21:12:42 +0000 Subject: [PATCH] - 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 --- virt-manager.changes | 7 ++++++ virt-manager.spec | 2 ++ virtinst-add-sle15-detection-support.patch | 25 +++++++++------------- virtinst-keep-install-iso-attached.patch | 18 ++++++++++++++++ virtinst-pvgrub2-bootloader.patch | 2 +- 5 files changed, 38 insertions(+), 16 deletions(-) create mode 100644 virtinst-keep-install-iso-attached.patch diff --git a/virt-manager.changes b/virt-manager.changes index b871b1d0..5236ebb3 100644 --- a/virt-manager.changes +++ b/virt-manager.changes @@ -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 diff --git a/virt-manager.spec b/virt-manager.spec index 1f17314a..43f8fcfb 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -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} diff --git a/virtinst-add-sle15-detection-support.patch b/virtinst-add-sle15-detection-support.patch index 22f4e36c..5806231a 100644 --- a/virtinst-add-sle15-detection-support.patch +++ b/virtinst-add-sle15-detection-support.patch @@ -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() diff --git a/virtinst-keep-install-iso-attached.patch b/virtinst-keep-install-iso-attached.patch new file mode 100644 index 00000000..52e57bbc --- /dev/null +++ b/virtinst-keep-install-iso-attached.patch @@ -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): diff --git a/virtinst-pvgrub2-bootloader.patch b/virtinst-pvgrub2-bootloader.patch index 443a08b7..d03ef79c 100644 --- a/virtinst-pvgrub2-bootloader.patch +++ b/virtinst-pvgrub2-bootloader.patch @@ -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"