[virt-tools-list] [virt-manager PATCH] Allow installation of i686 guests on x86_64 machines

Cole Robinson crobinso at redhat.com
Sat Mar 3 20:53:59 UTC 2018


On 03/01/2018 03:52 AM, Martin Kletzander wrote:
> Do that by changing the code that was disabling it into code that just warns in
> such case.
> 
> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> ---
>  virtManager/create.py | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/virtManager/create.py b/virtManager/create.py
> index 0a73309372d9..9a40aec4a068 100644
> --- a/virtManager/create.py
> +++ b/virtManager/create.py
> @@ -495,6 +495,10 @@ class vmmCreate(vmmGObjectUI):
>                  msg = _("Failed to setup UEFI for AArch64: %s\n"
>                          "Install options are limited.") % e
>                  self._show_arch_warning(msg)
> +        elif (self._capsinfo.arch == "i686" and
> +              self.conn.caps.host.cpu.arch == "x86_64"):
> +            msg = _("You are installing 32bit guest on 64bit host")
> +            self._show_arch_warning(msg)
>  
>          # Install Options
>          method_tree = self.widget("method-tree")
> @@ -824,12 +828,6 @@ class vmmCreate(vmmGObjectUI):
>              if guest.os_type == self._capsinfo.os_type:
>                  archs.append(guest.arch)
>  
> -        # Combine x86/i686 to avoid confusion
> -        if (self.conn.caps.host.cpu.arch == "x86_64" and
> -            "x86_64" in archs and "i686" in archs):
> -            archs.remove("i686")
> -        archs.sort()
> -
>          prios = ["x86_64", "i686", "aarch64", "armv7l", "ppc64", "ppc64le",
>              "s390x"]
>          if self.conn.caps.host.cpu.arch not in prios:
> 

The idea behind hiding the option is 1) it should be rare that someone
actually wants their VM to present a 32bit cpu on 64bit host, 2) hiding
it means when only x86_64 qemu is installed we can entirely hide the
'advanced options' expander.

Example: on rhel7 x86_64, libvirt advertises arch=i686 and arch=x86_64
for /usr/libexec/qemu-kvm. If we hide i686, there's only one arch option
available, and virt-manager will hide the entire 'advanced options'
expander. This is ideal IMO, otherwise users might go clicking, see the
i686 option, misinterpret it to mean OS arch (which in the context of
virt I've seen people mistake many times), set things to i686 needlessly.

Are there benefits I'm missng of doing arch=i686 on an x86_64 host
exactly? Doesn't it just map to using qemu32 as the default CPU?

Thanks,
Cole




More information about the virt-tools-list mailing list