← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1902216] [NEW] Can't define a cpu_model from a different architecture

 

Public bug reported:

"""
It would be great if Nova supports instances with a different architecture than the host.
My use case is to be run aarch64 guests in a x86_64 compute node.
"""

In order to create an aarch64 guest in an x86_64 compute node we need to define the emulated CPU.
However, Nova doesn't allow to define a CPU model that doesn't match with the host architecture.

For example:
CONF.libvirt.virt_type=qemu
CONF.libvirt.cpu_model=cortex-a57
CONF.libvirt.cpu_mode=custom

It fails with:
nova.exception.InvalidCPUInfo: Configured CPU model: cortex-a57 is not correct, or your host CPU arch does not support this model. Please correct your config and try again.

The problem is related with the this nova check in driver.py:
if cpu_info['arch'] not in (fields.Architecture.I686,
                            fields.Architecture.X86_64,
                            fields.Architecture.PPC64,
                            fields.Architecture.PPC64LE,
                            fields.Architecture.PPC):
    return model

Again, it's relying the host architecture for the x86_64.


Environment
===========

Tested using the master branch (29/10/2020)

Other
=====

I'm now opening target bugs for the generic issue reported in
https://bugs.launchpad.net/nova/+bug/1863728

** Affects: nova
     Importance: Undecided
     Assignee: Belmiro Moreira (moreira-belmiro-email-lists)
         Status: New

** Changed in: nova
     Assignee: (unassigned) => Belmiro Moreira (moreira-belmiro-email-lists)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1902216

Title:
  Can't define a cpu_model from a different architecture

Status in OpenStack Compute (nova):
  New

Bug description:
  """
  It would be great if Nova supports instances with a different architecture than the host.
  My use case is to be run aarch64 guests in a x86_64 compute node.
  """

  In order to create an aarch64 guest in an x86_64 compute node we need to define the emulated CPU.
  However, Nova doesn't allow to define a CPU model that doesn't match with the host architecture.

  For example:
  CONF.libvirt.virt_type=qemu
  CONF.libvirt.cpu_model=cortex-a57
  CONF.libvirt.cpu_mode=custom

  It fails with:
  nova.exception.InvalidCPUInfo: Configured CPU model: cortex-a57 is not correct, or your host CPU arch does not support this model. Please correct your config and try again.

  The problem is related with the this nova check in driver.py:
  if cpu_info['arch'] not in (fields.Architecture.I686,
                              fields.Architecture.X86_64,
                              fields.Architecture.PPC64,
                              fields.Architecture.PPC64LE,
                              fields.Architecture.PPC):
      return model

  Again, it's relying the host architecture for the x86_64.

  
  Environment
  ===========

  Tested using the master branch (29/10/2020)

  Other
  =====

  I'm now opening target bugs for the generic issue reported in
  https://bugs.launchpad.net/nova/+bug/1863728

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1902216/+subscriptions