[virt-tools-list] [PATCH virt-manager]: virtinst: correctly find the sles s390x kernel and initrd

Charles Arnold carnold at suse.com
Fri Sep 11 15:41:09 UTC 2015


Allow virt-install to correctly find the SLES kernel/initrd on the media
when installing an s390x VM.

Signed-off-by: Charles Arnold <carnold at suse.com>

diff --git a/virtinst/urlfetcher.py b/virtinst/urlfetcher.py
index c48e9d5..3e62c2b 100644
--- a/virtinst/urlfetcher.py
+++ b/virtinst/urlfetcher.py
@@ -369,6 +369,8 @@ def _distroFromSUSEContent(fetcher, arch, vmtype=None):
             arch = "x86_64"
         elif cbuf.find("i586") != -1:
             arch = "i586"
+        elif cbuf.find("s390x") != -1:
+            arch = "s390x"
 
     dclass = GenericDistro
     if distribution:
@@ -934,16 +936,22 @@ 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))
+        if self.arch == "s390x":
+            self._hvm_kernel_paths = [ ("boot/%s/linux" % self.arch,
+                                        "boot/%s/initrd" % self.arch) ]
+            # No Xen on s390x
+            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)]
+            # 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()
@@ -971,6 +979,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):






More information about the virt-tools-list mailing list