[Openstack-operators] [nova][glance] nova-compute choosing incorrect qemu binary when scheduling 'alternate' (ppc64, armv7l) architectures?

Chris Apsey bitskrieg at bitskrieg.net
Fri Aug 10 16:50:09 UTC 2018


This sounds promising and there seems to be a feasible way to do this, but 
it also sounds like a decent amount of effort and would be a new feature in 
a future release rather than a bugfix - am I correct in that assessment?



On August 9, 2018 13:30:31 "Daniel P. Berrangé" <berrange at redhat.com> wrote:

> On Thu, Aug 09, 2018 at 12:14:56PM -0500, Matt Riedemann wrote:
>> On 8/9/2018 6:03 AM, Chris Apsey wrote:
>>> Exactly.  And I agree, it seems like hw_architecture should dictate
>>> which emulator is chosen, but as you mentioned its currently not.  I'm
>>> not sure if this is a bug and it's supposed to 'just work', or just
>>> something that was never fully implemented (intentionally) and would be
>>> more of a feature request/suggestion for a later version.  The docs are
>>> kind of sparse in this area.
>>>
>>> What are your thoughts?  I can open a bug if you think the scope is
>>> reasonable.
>>
>> I'm not sure if this is a bug or a feature, or if there are reasons why it's
>> never been done. I'm gonna have to rope in Kashyap and danpb since they'd
>> likely know more.
>>
>> Dan/Kaskyap: tl;dr why doesn't the nova libvirt driver, configured for qemu,
>> set the guest.arch based on the hw_architecture image property so that you
>> can run ppc guests in an x86 host?
>
> Yes, it should do exactly that IMHO !
>
> The main caveat is that a hell of alot of code in libvirt assumes that
> guest arch == host arch. ie when building guest XML there's lots of code
> that looks at  caps.host.cpu.arch to decide how to configure the guest.
> This all needs fixing to look at the guest.arch value instead, having
> set that from hw_architecture prop.
>
> Nova libvirt driver is already reporting that it is capable of running
> guest with multiple arches (the _get_instance_capaiblities method in
> nova/virt/libvirt/driver.py).
>
> The only other thing is that you likely want to distinguish between
> hosts that can do PPC64 via KVM vs those that can only do it via
> emulation, so you don't get guests randomly placed on slow vs fast
> hosts. Some kind of scheduler filter / weighting can do that based
> on info already reported from the compute host I expect.
>
>
> Regards,
> Daniel
> --
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|






More information about the OpenStack-operators mailing list