virt-manager/virtinst-pvgrub2-bootloader.patch
Charles Arnold 6de106691e - Update to virt-manager 3.0.0 (fate#326786)
virt-manager-3.0.0.tar.bz2
  * virt-install –cloud-init support (Athina Plaskasoviti, Cole
    Robinson)
  * The virt-convert tool has been removed. Please use virt-v2v
    instead
  * A handful of UI XML configuration options have been removed.
    The XML editor can be used instead. For a larger discussion see
    this thread: https://www.redhat.com/archives/virt-tools-list/
    2019-June/msg00117.html
  * The ‘New VM’ UI now has a ‘Manual Install’ option which creates
    a VM without any required install media
  * In the ‘New VM’ UI, the network/pxe install option has been
    removed. If you need network boot, choose ‘Manual Install’ and
    set the boot device after initial VM creation
  * ‘Clone VM’ UI has been reworked and simplified
  * ‘Migrate VM’ UI now has an XML editor for the destination VM
  * Global and per-vm option to disable graphical console
    autoconnect. This makes it easier to use virt-manager alongside
    another client like virt-viewer
  * virt-manager: set guest time after VM restore (Michael Weiser)
  * virt-manager: option to delete storage when removing disk
    device (Lily Nie)
  * virt-manager: show warnings if snapshot operation is unsafe
    (Michael Weiser)
  * Unattended install improvements (Fabiano Fidêncio)
  * cli: new –xml XPATH=VAL option for making direct XML changes
  * virt-install: new –reinstall=DOMAIN option
  * virt-install: new –autoconsole text|graphical|none option
  * virt-install: new –os-variant detect=on,require=on suboptions

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=509
2020-09-16 17:23:41 +00:00

40 lines
1.8 KiB
Diff

Reference: bnc#863821
grub.xen is required to boot PV VMs that use the BTRFS filesystem.
This patch forces the use of grub.xen (instead of using pygrub) for
suse distros SLE12GA, openSUSE 13.2, and newer.
Index: virt-manager-3.0.0/virtinst/install/installer.py
===================================================================
--- virt-manager-3.0.0.orig/virtinst/install/installer.py
+++ virt-manager-3.0.0/virtinst/install/installer.py
@@ -218,7 +218,8 @@ class Installer(object):
def _alter_treemedia_bootconfig(self, guest):
if not self._treemedia:
- return
+ if not self._treemedia_bootconfig or "grub.xen" not in self._treemedia_bootconfig[0]:
+ return
kernel, initrd, kernel_args = self._treemedia_bootconfig
if kernel:
@@ -584,6 +585,20 @@ class Installer(object):
install_xml = None
if self.has_install_phase():
install_xml = self._get_install_xml(guest, meter)
+ if (guest.os.is_xenpv() and
+ not guest.os.kernel):
+ os_ver = guest.osinfo.name
+ if guest.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"):
+ guest.bootloader = "pygrub"
+ else:
+ guest.bootloader = None
+ self._treemedia_bootconfig = ("/usr/lib/grub2/x86_64-xen/grub.xen", "", "")
+ log.debug("Using grub.xen to boot guest")
+ on_reboot_value = guest.on_reboot
+ self._alter_bootconfig(guest)
+ guest.on_reboot = on_reboot_value
final_xml = self._pre_reinstall_xml or guest.get_xml()
log.debug("Generated install XML: %s",