The reason this doesn't currently work is because Nova does not take the cpu-extra-flags into consideration when checking the host cpu model against one provided in cpu-models [1]. I believe it should be safe to do that so we should try to get that added.
The point about capabilities vs. domcapabilities is interesting and if the latter is the more accurate source of information, Nova should probably be using it.
The reason this doesn't currently work is because Nova does not take the cpu-extra-flags into consideration when checking the host cpu model against one provided in cpu-models [1]. I believe it should be safe to do that so we should try to get that added.
The point about capabilities vs. domcapabilities is interesting and if the latter is the more accurate source of information, Nova should probably be using it.
[1] https:/ /github. com/openstack/ nova/blob/ 8a476061c5e0340 16668cd9e5a20c4 430ef6b68d/ nova/virt/ libvirt/ driver. py#L987