Hi,

I'd say take kvm64 as a basis using the custom mode, and then add flags being a common ground over your various CPUs.

We're on a mixed Intel / AMD environment and came up with something like (looking /proc/cpuinfo):
[libvirt]
cpu_mode=custom
cpu_models=kvm64
cpu_model_extra_flags=various,flags,xsave

Meanwhile xsave seemed to be turned off in some CPU microcode updates, so I suggest leaving that out.

Hope it helps.

Cheers,
Kees

__

Kees Meijs BICT

Nefos Cloud & IT

Nefos IT bv
Burgemeester Mollaan 34a
5582 CK Waalre - NL
kvk 66494931

+31 (0)88 2088 188
nefos.nl


The information contained in this message is intended for the addressee only and may contain classified information. If you are not the addressee, please delete this message and notify the sender; you should not copy or distribute this message or disclose its contents to anyone. Any views or opinions expressed in this message are those of the individual(s) and not necessarily of the organization. No reliance may be placed on this message without written confirmation from an authorised representative of its contents. No guarantee is implied that this message or any attachment is virus free or has not been intercepted and amended.

General terms and conditions ("The NLdigital Terms") apply to all our products and services.

On 29-10-2024 16:44, Andy Speagle wrote:
Hey Folks,

I have some wildly disparate CPUs throughout my nova-compute
environment and I'm trying to figure out the best way to find the
correct cpu_model and any "extra_flags" that might need to be passed.

According to "virsh capabilities" I have Broadwell-IBRS, Skylake-
Server-IBRS and SapphireRapids-noTSX ...

And... my attempts at finding a compatible model/flags has failed
miserably.

I tried getting all of the "capabilities" in one file and passing that
through "virsh cpu-baseline" but that returned something completely
incompatible with the Broadwell ... I looked at "virsh domcapabilities"
and found that they all support "Broadwell-noTSX-IBRS" ... and nova-
compute will start up using that... but, live migrations between the
Broadwell and Skylake CPUs to the SapphireRapids doesn't work properly.

tl;dr ... any tips on making this work with wildly disparate CPUs?