virtman-s390x-ppc64-arch-support.patch

Drop virtman-s390x-default-to-vminstall.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=260
This commit is contained in:
Charles Arnold 2015-09-10 21:19:49 +00:00 committed by Git OBS Bridge
parent c7dfc18daa
commit 64e4967c4d
10 changed files with 170 additions and 192 deletions

View File

@ -3,8 +3,9 @@ Thu Sep 10 13:46:12 MDT 2015 - carnold@suse.com
- Add upstream s390x support patch (bnc#869024) - Add upstream s390x support patch (bnc#869024)
8dbe96fc-add-s390x-arch-support.patch 8dbe96fc-add-s390x-arch-support.patch
virtman-s390x-dont-add-graphics-support.patch virtman-s390x-ppc64-arch-support.patch
Drop virtman-add-s390x-arch-support.patch Drop virtman-add-s390x-arch-support.patch
Drop virtman-s390x-default-to-vminstall.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Sep 8 15:59:53 MDT 2015 - carnold@suse.com Tue Sep 8 15:59:53 MDT 2015 - carnold@suse.com

View File

@ -54,11 +54,10 @@ Patch71: virtman-kvm.patch
Patch72: virtman-keycombo.patch Patch72: virtman-keycombo.patch
Patch73: virtman-vminstall.patch Patch73: virtman-vminstall.patch
Patch74: virtman-show-suse-install-repos.patch Patch74: virtman-show-suse-install-repos.patch
Patch75: virtman-s390x-default-to-vminstall.patch Patch75: virtman-libvirtd-not-running.patch
Patch76: virtman-libvirtd-not-running.patch Patch76: virtman-dont-allow-grub.xen-to-be-deleted.patch
Patch77: virtman-dont-allow-grub.xen-to-be-deleted.patch Patch77: virtinst-pvgrub2-bootloader.patch
Patch78: virtinst-pvgrub2-bootloader.patch Patch78: virtinst-nfs-install-sanitize.patch
Patch79: virtinst-nfs-install-sanitize.patch
# Features or Enhancements # Features or Enhancements
Patch100: virtman-eepro100.patch Patch100: virtman-eepro100.patch
Patch101: virtman-default-guest-from-host-os.patch Patch101: virtman-default-guest-from-host-os.patch
@ -66,7 +65,7 @@ Patch102: virtman-default-to-xen-pv.patch
Patch103: virtman-autoyast-support.patch Patch103: virtman-autoyast-support.patch
Patch104: virtman-packages.patch Patch104: virtman-packages.patch
Patch105: virtman-load-stored-uris.patch Patch105: virtman-load-stored-uris.patch
Patch106: virtman-s390x-dont-add-graphics-support.patch Patch106: virtman-s390x-ppc64-arch-support.patch
Patch107: virtman-add-connect-default.patch Patch107: virtman-add-connect-default.patch
Patch120: virtinst-storage-ocfs2.patch Patch120: virtinst-storage-ocfs2.patch
Patch121: virtinst-default-xen-to-qcow2-format.patch Patch121: virtinst-default-xen-to-qcow2-format.patch
@ -190,7 +189,6 @@ machine).
%patch76 -p1 %patch76 -p1
%patch77 -p1 %patch77 -p1
%patch78 -p1 %patch78 -p1
%patch79 -p1
# Enhancements # Enhancements
%patch100 -p1 %patch100 -p1
%patch101 -p1 %patch101 -p1

View File

@ -1,11 +1,11 @@
Enhancement to correctly detect Open Enterprise Server media is Enhancement to correctly detect Open Enterprise Server media is
selected as the installation source. selected as the installation source.
Index: virt-manager-1.2.0/virtinst/urlfetcher.py Index: virt-manager-1.2.1/virtinst/urlfetcher.py
=================================================================== ===================================================================
--- virt-manager-1.2.0.orig/virtinst/urlfetcher.py --- virt-manager-1.2.1.orig/virtinst/urlfetcher.py
+++ virt-manager-1.2.0/virtinst/urlfetcher.py +++ virt-manager-1.2.1/virtinst/urlfetcher.py
@@ -383,6 +383,10 @@ def _distroFromSUSEContent(fetcher, arch @@ -393,6 +393,10 @@ def _distroFromSUSEContent(fetcher, arch
dclass = SLEDDistro dclass = SLESDistro
if distro_version is None: if distro_version is None:
distro_version = ['VERSION', distribution[1].strip().rsplit(' ')[4]] distro_version = ['VERSION', distribution[1].strip().rsplit(' ')[4]]
+ elif re.match(".*Open Enterprise Server*", distribution[1]): + elif re.match(".*Open Enterprise Server*", distribution[1]):

View File

@ -1,10 +1,10 @@
Enhancement for when no hypervisor can be found locally it opens Enhancement for when no hypervisor can be found locally it opens
the new connection dialog. the new connection dialog.
Index: virt-manager-1.1.0/virtManager/engine.py Index: virt-manager-1.2.1/virtManager/engine.py
=================================================================== ===================================================================
--- virt-manager-1.1.0.orig/virtManager/engine.py --- virt-manager-1.2.1.orig/virtManager/engine.py
+++ virt-manager-1.1.0/virtManager/engine.py +++ virt-manager-1.2.1/virtManager/engine.py
@@ -203,9 +203,6 @@ class vmmEngine(vmmGObject): @@ -202,9 +202,6 @@ class vmmEngine(vmmGObject):
except: except:
logging.exception("Error talking to PackageKit") logging.exception("Error talking to PackageKit")
@ -14,7 +14,7 @@ Index: virt-manager-1.1.0/virtManager/engine.py
warnmsg = _("The 'libvirtd' service will need to be started.\n\n" warnmsg = _("The 'libvirtd' service will need to be started.\n\n"
"After that, virt-manager will connect to libvirt on\n" "After that, virt-manager will connect to libvirt on\n"
"the next application start up.") "the next application start up.")
@@ -219,7 +216,11 @@ class vmmEngine(vmmGObject): @@ -218,7 +215,11 @@ class vmmEngine(vmmGObject):
if not connected and do_start: if not connected and do_start:
manager.err.ok(_("Libvirt service must be started"), warnmsg) manager.err.ok(_("Libvirt service must be started"), warnmsg)

View File

@ -6,10 +6,10 @@ Steps to get a KVM VM in the crashed state:
4) Edit the VM's /etc/default/grub file and remove the crashkernel information 4) Edit the VM's /etc/default/grub file and remove the crashkernel information
and then run grub2-mkconfig /boot/grub2/grub.cfg. and then run grub2-mkconfig /boot/grub2/grub.cfg.
5) Start the VM and within the VM's terminal type "echo 'c' > /proc/sysrq-trigger" 5) Start the VM and within the VM's terminal type "echo 'c' > /proc/sysrq-trigger"
Index: virt-manager-1.1.0/virtManager/manager.py Index: virt-manager-1.2.1/virtManager/manager.py
=================================================================== ===================================================================
--- virt-manager-1.1.0.orig/virtManager/manager.py --- virt-manager-1.2.1.orig/virtManager/manager.py
+++ virt-manager-1.1.0/virtManager/manager.py +++ virt-manager-1.2.1/virtManager/manager.py
@@ -864,7 +864,7 @@ class vmmManager(vmmGObjectUI): @@ -864,7 +864,7 @@ class vmmManager(vmmGObjectUI):
show_pause = bool(vm and vm.is_unpauseable()) show_pause = bool(vm and vm.is_unpauseable())
else: else:
@ -19,19 +19,11 @@ Index: virt-manager-1.1.0/virtManager/manager.py
if vm and vm.managedsave_supported: if vm and vm.managedsave_supported:
self.change_run_text(vm.has_managed_save()) self.change_run_text(vm.has_managed_save())
Index: virt-manager-1.1.0/virtManager/vmmenu.py Index: virt-manager-1.2.1/virtManager/vmmenu.py
=================================================================== ===================================================================
--- virt-manager-1.1.0.orig/virtManager/vmmenu.py --- virt-manager-1.2.1.orig/virtManager/vmmenu.py
+++ virt-manager-1.1.0/virtManager/vmmenu.py +++ virt-manager-1.2.1/virtManager/vmmenu.py
@@ -22,6 +22,7 @@ from gi.repository import Gtk @@ -50,6 +50,7 @@ class _VMMenu(Gtk.Menu):
from virtManager import config
import platform
+import logging
####################################################################
# Build toolbar new button menu (manager and details toolbar) #
@@ -53,6 +54,7 @@ class _VMMenu(Gtk.Menu):
self._parent = src self._parent = src
self._current_vm_cb = current_vm_cb self._current_vm_cb = current_vm_cb
self._show_open = show_open self._show_open = show_open
@ -39,7 +31,7 @@ Index: virt-manager-1.1.0/virtManager/vmmenu.py
self._init_state() self._init_state()
@@ -114,6 +116,7 @@ class VMShutdownMenu(_VMMenu): @@ -111,6 +112,7 @@ class VMShutdownMenu(_VMMenu):
name = getattr(child, "vmm_widget_name", None) name = getattr(child, "vmm_widget_name", None)
if name in statemap: if name in statemap:
child.set_sensitive(statemap[name]) child.set_sensitive(statemap[name])
@ -47,7 +39,7 @@ Index: virt-manager-1.1.0/virtManager/vmmenu.py
if name == "reset": if name == "reset":
child.set_tooltip_text(None) child.set_tooltip_text(None)
@@ -130,7 +133,8 @@ class VMActionMenu(_VMMenu): @@ -127,7 +129,8 @@ class VMActionMenu(_VMMenu):
self._add_action(_("_Pause"), "suspend", Gtk.STOCK_MEDIA_PAUSE) self._add_action(_("_Pause"), "suspend", Gtk.STOCK_MEDIA_PAUSE)
self._add_action(_("R_esume"), "resume", Gtk.STOCK_MEDIA_PAUSE) self._add_action(_("R_esume"), "resume", Gtk.STOCK_MEDIA_PAUSE)
s = self._add_action(_("_Shut Down"), "shutdown", addcb=False) s = self._add_action(_("_Shut Down"), "shutdown", addcb=False)
@ -57,7 +49,7 @@ Index: virt-manager-1.1.0/virtManager/vmmenu.py
self.add(Gtk.SeparatorMenuItem()) self.add(Gtk.SeparatorMenuItem())
self._add_action(_("Clone..."), "clone", None) self._add_action(_("Clone..."), "clone", None)
@@ -146,7 +150,7 @@ class VMActionMenu(_VMMenu): @@ -143,7 +146,7 @@ class VMActionMenu(_VMMenu):
def update_widget_states(self, vm): def update_widget_states(self, vm):
statemap = { statemap = {
"run": bool(vm and vm.is_runable()), "run": bool(vm and vm.is_runable()),
@ -66,7 +58,7 @@ Index: virt-manager-1.1.0/virtManager/vmmenu.py
"suspend": bool(vm and vm.is_stoppable()), "suspend": bool(vm and vm.is_stoppable()),
"resume": bool(vm and vm.is_paused()), "resume": bool(vm and vm.is_paused()),
"migrate": bool(vm and vm.is_stoppable()), "migrate": bool(vm and vm.is_stoppable()),
@@ -163,6 +167,8 @@ class VMActionMenu(_VMMenu): @@ -160,6 +163,8 @@ class VMActionMenu(_VMMenu):
child.get_submenu().update_widget_states(vm) child.get_submenu().update_widget_states(vm)
if name in statemap: if name in statemap:
child.set_sensitive(statemap[name]) child.set_sensitive(statemap[name])

View File

@ -2,11 +2,11 @@ Reference: bnc#867749
When booted into the native kernel don't ask libvirt to make a When booted into the native kernel don't ask libvirt to make a
local Xen connection and likewise when booted into the Xen kernel local Xen connection and likewise when booted into the Xen kernel
don't ask libvirt to connect to the local qemu. don't ask libvirt to connect to the local qemu.
Index: virt-manager-1.1.0/virtManager/engine.py Index: virt-manager-1.2.1/virtManager/engine.py
=================================================================== ===================================================================
--- virt-manager-1.1.0.orig/virtManager/engine.py --- virt-manager-1.2.1.orig/virtManager/engine.py
+++ virt-manager-1.1.0/virtManager/engine.py +++ virt-manager-1.2.1/virtManager/engine.py
@@ -227,9 +227,22 @@ class vmmEngine(vmmGObject): @@ -226,9 +226,22 @@ class vmmEngine(vmmGObject):
if not uris: if not uris:
return return
logging.debug("About to connect to uris %s", uris) logging.debug("About to connect to uris %s", uris)

View File

@ -4,10 +4,10 @@ This is not a normal situation on a suse distro. Split out required
libvirt packages (kvm vs xen). Only install those libvirt packages libvirt packages (kvm vs xen). Only install those libvirt packages
for which the host is booted. This patch has a corresponding spec for which the host is booted. This patch has a corresponding spec
file change (%define libvirt_kvm_packages and %define libvirt_xen_packages). file change (%define libvirt_kvm_packages and %define libvirt_xen_packages).
Index: virt-manager-1.2.0/setup.py Index: virt-manager-1.2.1/setup.py
=================================================================== ===================================================================
--- virt-manager-1.2.0.orig/setup.py --- virt-manager-1.2.1.orig/setup.py
+++ virt-manager-1.2.0/setup.py +++ virt-manager-1.2.1/setup.py
@@ -280,8 +280,11 @@ class configure(Command): @@ -280,8 +280,11 @@ class configure(Command):
("prefix=", None, "installation prefix"), ("prefix=", None, "installation prefix"),
("qemu-user=", None, ("qemu-user=", None,
@ -45,10 +45,10 @@ Index: virt-manager-1.2.0/setup.py
if self.kvm_package_names is not None: if self.kvm_package_names is not None:
template += "hv_packages = %s\n" % self.kvm_package_names template += "hv_packages = %s\n" % self.kvm_package_names
if self.askpass_package_names is not None: if self.askpass_package_names is not None:
Index: virt-manager-1.2.0/virtcli/cliconfig.py Index: virt-manager-1.2.1/virtcli/cliconfig.py
=================================================================== ===================================================================
--- virt-manager-1.2.0.orig/virtcli/cliconfig.py --- virt-manager-1.2.1.orig/virtcli/cliconfig.py
+++ virt-manager-1.2.0/virtcli/cliconfig.py +++ virt-manager-1.2.1/virtcli/cliconfig.py
@@ -84,7 +84,8 @@ class _CLIConfig(object): @@ -84,7 +84,8 @@ class _CLIConfig(object):
_get_param("preferred_distros", "")) _get_param("preferred_distros", ""))
self.hv_packages = _split_list(_get_param("hv_packages", "")) self.hv_packages = _split_list(_get_param("hv_packages", ""))
@ -59,10 +59,10 @@ Index: virt-manager-1.2.0/virtcli/cliconfig.py
self.default_graphics = _get_param("default_graphics", "spice") self.default_graphics = _get_param("default_graphics", "spice")
self.default_hvs = _split_list(_get_param("default_hvs", "")) self.default_hvs = _split_list(_get_param("default_hvs", ""))
Index: virt-manager-1.2.0/virtManager/config.py Index: virt-manager-1.2.1/virtManager/config.py
=================================================================== ===================================================================
--- virt-manager-1.2.0.orig/virtManager/config.py --- virt-manager-1.2.1.orig/virtManager/config.py
+++ virt-manager-1.2.0/virtManager/config.py +++ virt-manager-1.2.1/virtManager/config.py
@@ -165,7 +165,8 @@ class vmmConfig(object): @@ -165,7 +165,8 @@ class vmmConfig(object):
self.default_qemu_user = CLIConfig.default_qemu_user self.default_qemu_user = CLIConfig.default_qemu_user
self.preferred_distros = CLIConfig.preferred_distros self.preferred_distros = CLIConfig.preferred_distros
@ -73,11 +73,11 @@ Index: virt-manager-1.2.0/virtManager/config.py
self.askpass_package = CLIConfig.askpass_package self.askpass_package = CLIConfig.askpass_package
self.default_graphics_from_config = CLIConfig.default_graphics self.default_graphics_from_config = CLIConfig.default_graphics
self.default_hvs = CLIConfig.default_hvs self.default_hvs = CLIConfig.default_hvs
Index: virt-manager-1.2.0/virtManager/engine.py Index: virt-manager-1.2.1/virtManager/engine.py
=================================================================== ===================================================================
--- virt-manager-1.2.0.orig/virtManager/engine.py --- virt-manager-1.2.1.orig/virtManager/engine.py
+++ virt-manager-1.2.0/virtManager/engine.py +++ virt-manager-1.2.1/virtManager/engine.py
@@ -193,21 +193,18 @@ class vmmEngine(vmmGObject): @@ -192,21 +192,18 @@ class vmmEngine(vmmGObject):
ret = None ret = None
try: try:

View File

@ -1,87 +0,0 @@
Reference: bnc#888173
Force the use of vm-install on s390. The viewer in virt-manager
and virt-viewer needs a graphics adapter defined in the VM to show
the display correctly. On s390 you can't have a graphics adapter
(you get the error 'No PCI buses available'). Vm-install gets
around this problem by starting an xterm window in which to run the
VM.
Index: virt-manager-1.1.0/virtManager/engine.py
===================================================================
--- virt-manager-1.1.0.orig/virtManager/engine.py
+++ virt-manager-1.1.0/virtManager/engine.py
@@ -27,6 +27,7 @@ import re
import Queue
import threading
import traceback
+import platform
import os
from subprocess import *
@@ -821,7 +822,7 @@ class vmmEngine(vmmGObject):
obj.connect("action-clone-domain", self._do_show_clone)
obj.connect("action-show-domain", self._do_show_vm)
obj.connect("action-show-preferences", self._do_show_preferences)
- obj.connect("action-show-create", self._do_show_create)
+ obj.connect("action-show-create", self._do_show_create_virtinstall)
obj.connect("action-show-create-vminstall", self._do_show_create_vminstall)
obj.connect("action-show-about", self._do_show_about)
obj.connect("action-show-host", self._do_show_host)
@@ -869,7 +870,20 @@ class vmmEngine(vmmGObject):
self.windowCreate = None
def _do_show_create_vminstall(self, src, uri):
- self._do_show_create(src, uri, True)
+ # When pop-down menu is selected
+ if platform.machine() == "s390x":
+ # For s390, the pop-down is virt-install
+ self._do_show_create(src, uri, False)
+ else:
+ self._do_show_create(src, uri, True)
+
+ def _do_show_create_virtinstall(self, src, uri):
+ # When 'Create a new virtual machine' button is selected
+ if platform.machine() == "s390x":
+ # For s390, the button is vm-install
+ self._do_show_create(src, uri, True)
+ else:
+ self._do_show_create(src, uri, False)
def _do_show_create(self, src, uri, use_vminstall=False):
if uri is None:
@@ -952,7 +966,10 @@ class vmmEngine(vmmGObject):
def show_domain_creator(self, uri):
self.show_manager()
- self._do_show_create(self.get_manager(), uri)
+ if platform.machine() == "s390x":
+ self._do_show_create(self.get_manager(), uri, True)
+ else:
+ self._do_show_create(self.get_manager(), uri, False)
def _find_vm_by_cli_str(self, uri, clistr):
Index: virt-manager-1.1.0/virtManager/vmmenu.py
===================================================================
--- virt-manager-1.1.0.orig/virtManager/vmmenu.py
+++ virt-manager-1.1.0/virtManager/vmmenu.py
@@ -21,6 +21,7 @@
from gi.repository import Gtk
from virtManager import config
+import platform
####################################################################
# Build toolbar new button menu (manager and details toolbar) #
@@ -33,8 +34,10 @@ def build_new_button_menu(widget, vminst
widget.set_menu(menu)
vminstallimg = Gtk.Image.new_from_icon_name(icon_name, Gtk.IconSize.MENU)
-
- vminstall = Gtk.ImageMenuItem.new_with_mnemonic(_("_Vm-install"))
+ if platform.machine() == "s390x":
+ vminstall = Gtk.ImageMenuItem.new_with_mnemonic(_("_Virt-install"))
+ else:
+ vminstall = Gtk.ImageMenuItem.new_with_mnemonic(_("_Vm-install"))
vminstall.set_image(vminstallimg)
vminstall.show()
vminstall.connect("activate", vminstall_cb)

View File

@ -1,51 +0,0 @@
Reference: bnc#869024
Add s390x support
Index: virt-manager-1.2.1/virtinst/guest.py
===================================================================
--- virt-manager-1.2.1.orig/virtinst/guest.py
+++ virt-manager-1.2.1/virtinst/guest.py
@@ -120,7 +120,10 @@ class Guest(XMLBuilder):
self.skip_default_channel = False
self.skip_default_sound = False
self.skip_default_usbredir = False
- self.skip_default_graphics = False
+ if self.os.is_s390x():
+ self.skip_default_graphics = True
+ else:
+ self.skip_default_graphics = False
self.x86_cpu_default = self.cpu.SPECIAL_MODE_HOST_MODEL_ONLY
self.__os_object = None
@@ -605,11 +608,13 @@ class Guest(XMLBuilder):
self.conn.check_support(
self.conn.SUPPORT_CONN_VIRTIO_CONSOLE)):
dev.target_type = "virtio"
+ elif self.os.is_s390x():
+ dev.target_type = "sclp"
self.add_device(dev)
def add_default_video_device(self):
- if self.os.is_container():
+ if self.os.is_container() or self.os.is_s390x():
return
if self.get_devices("video"):
return
@@ -654,7 +659,7 @@ class Guest(XMLBuilder):
return
if self.os.is_container():
return
- if self.os.arch not in ["x86_64", "i686", "ppc64", "ppc64le", "ia64"]:
+ if self.os.arch not in ["x86_64", "i686", "ppc64", "ppc64le", "ia64", "s390x"]:
return
self.add_device(VirtualGraphics(self.conn))
@@ -957,7 +962,7 @@ class Guest(XMLBuilder):
if self._hv_only_supports_virtio():
return True
- if self.os.is_x86():
+ if self.os.is_x86() or self.os.is_s390x():
return True
if (self.os.is_arm_vexpress() and

View File

@ -0,0 +1,125 @@
Reference: bnc#869024
Add s390x support
Index: virt-manager-1.2.1/virtinst/guest.py
===================================================================
--- virt-manager-1.2.1.orig/virtinst/guest.py
+++ virt-manager-1.2.1/virtinst/guest.py
@@ -120,7 +120,10 @@ class Guest(XMLBuilder):
self.skip_default_channel = False
self.skip_default_sound = False
self.skip_default_usbredir = False
- self.skip_default_graphics = False
+ if self.os.is_s390x():
+ self.skip_default_graphics = True
+ else:
+ self.skip_default_graphics = False
self.x86_cpu_default = self.cpu.SPECIAL_MODE_HOST_MODEL_ONLY
self.__os_object = None
@@ -605,11 +608,13 @@ class Guest(XMLBuilder):
self.conn.check_support(
self.conn.SUPPORT_CONN_VIRTIO_CONSOLE)):
dev.target_type = "virtio"
+ elif self.os.is_s390x():
+ dev.target_type = "sclp"
self.add_device(dev)
def add_default_video_device(self):
- if self.os.is_container():
+ if self.os.is_container() or self.os.is_s390x():
return
if self.get_devices("video"):
return
@@ -654,7 +659,7 @@ class Guest(XMLBuilder):
return
if self.os.is_container():
return
- if self.os.arch not in ["x86_64", "i686", "ppc64", "ppc64le", "ia64"]:
+ if self.os.arch not in ["x86_64", "i686", "ppc64", "ppc64le", "ia64", "s390x"]:
return
self.add_device(VirtualGraphics(self.conn))
@@ -957,7 +962,7 @@ class Guest(XMLBuilder):
if self._hv_only_supports_virtio():
return True
- if self.os.is_x86():
+ if self.os.is_x86() or self.os.is_s390x():
return True
if (self.os.is_arm_vexpress() and
--- virt-manager-1.2.1/virtinst/urlfetcher.py.orig 2015-09-10 15:05:22.973065632 -0600
+++ virt-manager-1.2.1/virtinst/urlfetcher.py 2015-09-10 15:07:15.127199219 -0600
@@ -371,6 +371,12 @@ def _distroFromSUSEContent(fetcher, arch
arch = "x86_64"
elif cbuf.find("i586") != -1:
arch = "i586"
+ elif cbuf.find("s390x") != -1:
+ arch = "s390x"
+ elif cbuf.find("ppc64") != -1:
+ arch = "ppc64"
+ elif cbuf.find("ppc64le") != -1:
+ arch = "ppc64le"
dclass = GenericDistro
if distribution:
@@ -383,6 +389,10 @@ def _distroFromSUSEContent(fetcher, arch
dclass = SLEDDistro
if distro_version is None:
distro_version = ['VERSION', distribution[1].strip().rsplit(' ')[4]]
+ elif re.match(".*Open Enterprise Server*", distribution[1]):
+ dclass = SLESDistro
+ if distro_version is None:
+ distro_version = ['VERSION', distribution[1].strip().rsplit(' ')[4]]
elif re.match(".*openSUSE.*", distribution[1]):
dclass = OpensuseDistro
if distro_version is None:
@@ -936,16 +946,23 @@ class SuseDistro(Distro):
oldkern += "64"
oldinit += "64"
- # Tested with Opensuse >= 10.2, 11, and sles 10
- self._hvm_kernel_paths = [("boot/%s/loader/linux" % self.arch,
- "boot/%s/loader/initrd" % self.arch)]
- # Tested with Opensuse 10.0
- self._hvm_kernel_paths.append(("boot/loader/%s" % oldkern,
- "boot/loader/%s" % oldinit))
-
- # Matches Opensuse > 10.2 and sles 10
- self._xen_kernel_paths = [("boot/%s/vmlinuz-xen" % self.arch,
- "boot/%s/initrd-xen" % self.arch)]
+ if self.arch == "s390x" or \
+ self.arch == "ppc64" or self.arch == "ppc64le":
+ self._hvm_kernel_paths = [ ("boot/%s/linux" % self.arch,
+ "boot/%s/initrd" % self.arch) ]
+ # No Xen on s390x and ppc
+ self._xen_kernel_paths = []
+ else:
+ # Tested with Opensuse >= 10.2, 11, and sles 10
+ self._hvm_kernel_paths = [("boot/%s/loader/linux" % self.arch,
+ "boot/%s/loader/initrd" % self.arch)]
+ # Tested with Opensuse 10.0
+ self._hvm_kernel_paths.append(("boot/loader/%s" % oldkern,
+ "boot/loader/%s" % oldinit))
+
+ # Matches Opensuse > 10.2 and sles 10
+ self._xen_kernel_paths = [("boot/%s/vmlinuz-xen" % self.arch,
+ "boot/%s/initrd-xen" % self.arch)]
def _variantFromVersion(self):
distro_version = self.version_from_content[1].strip()
@@ -973,6 +990,13 @@ class SuseDistro(Distro):
self._variantFromVersion()
self.os_variant = self._detect_osdict_from_url()
+
+ # Reset kernel name for sle11 source on s390x
+ if self.arch == "s390x":
+ if self.os_variant == "sles11" or self.os_variant == "sled11":
+ self._hvm_kernel_paths = [ ("boot/%s/vmrdr.ikr" % self.arch,
+ "boot/%s/initrd" % self.arch) ]
+
return True
def _get_method_arg(self):