On x86 due to a compat fix host-model effectively is CUSTOM see qemuProcessUpdateGuestCPU (in coreys post).
I also checked where this gets populated but didn't find a sweet sport to see if is now different.
But qemuBuildCpuModelArgStr was interesting.
On 2.5 and master stripped of unimportant to aarch64 it is:
- host-passthrough -> add "host"
- host-model -> fail
(remember x86 converts host-model to custom)
- custom -> add "whatever was given"
So that won't work even if we would let it pass the check.
And while the code changed the semantics did not - yet there it handled host-model "like" passthrough not in the construction but due to a fallback in detection.
That known I checked the qemu command strings it constructed in the past, it was: "-cpu host".
Aha, no specials due to host-model (as it didn't work), so on aarch64 host-model was equal to host-passthrough with the failure that the "advertised" extra that host-model has over host-passthrough did not work.
Now libvirt changed to know that and tells you that host-model is not working, but that is actually correct - even it seemed so in the first place I'd not consider this a regression in the usual sense.
- Regression: sometihng that worked now fails
- This: something that you thought works, but didn't now fails telling you so
Summarizing in next comment to catch everybody and sync with the openstack Team on this.
On x86 due to a compat fix host-model effectively is CUSTOM see qemuProcessUpda teGuestCPU (in coreys post).
I also checked where this gets populated but didn't find a sweet sport to see if is now different. elArgStr was interesting.
But qemuBuildCpuMod
On 2.5 and master stripped of unimportant to aarch64 it is:
- host-passthrough -> add "host"
- host-model -> fail
(remember x86 converts host-model to custom)
- custom -> add "whatever was given"
So that won't work even if we would let it pass the check.
And while the code changed the semantics did not - yet there it handled host-model "like" passthrough not in the construction but due to a fallback in detection.
That known I checked the qemu command strings it constructed in the past, it was: "-cpu host".
Aha, no specials due to host-model (as it didn't work), so on aarch64 host-model was equal to host-passthrough with the failure that the "advertised" extra that host-model has over host-passthrough did not work.
Now libvirt changed to know that and tells you that host-model is not working, but that is actually correct - even it seemed so in the first place I'd not consider this a regression in the usual sense.
- Regression: sometihng that worked now fails
- This: something that you thought works, but didn't now fails telling you so
Summarizing in next comment to catch everybody and sync with the openstack Team on this.