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

Cole Robinson crobinso at redhat.com
Fri Sep 11 15:59:55 UTC 2015


On 09/11/2015 11:41 AM, Charles Arnold wrote:
> 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>
> 

Thanks for the patch. Is there a public URL/media to test this against?

There's some minor pep8 errors:

virtinst/urlfetcher.py:940: [E201] whitespace after '['
virtinst/urlfetcher.py:941: [E202] whitespace before ']'
virtinst/urlfetcher.py:986: [E201] whitespace after '['
virtinst/urlfetcher.py:987: [E202] whitespace before ']'

One comment below:

> 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) ]
> +

>From my reading of _detect_osdict_from_url it will only return opensuse* OS
names, not sles* or sled*, so I'm not sure how this path is triggered with
virt-manager.git

Thanks,
Cole




More information about the virt-tools-list mailing list