Using xenial rev 135 of nova-compute charm (nova v13.1.2) we are experiencing issues with live-migration from HP gen9 processors to pre-existing HP gen8 servers due to incompatible cpu flags.
nova-compute charm options were enable-live-migration: True, and cpu-mode and cpu-model were at charm defaults.
Worked around by setting cpu-mode: custom and cpu-model: <output of virsh cpu-baseline all_node_<cpu>_features.xml>.
Would like to recommend that if enable-live-migration is set to True in the charm, peer relations of nova-compute units on different cpu generations should override/auto-configure lowest common denominator cpu into cpu-model based on cpu features of all related nova-compute units rather than operator having to compute the cpu-model to set in charm from cpu-baseline. Perhaps this could be a new cpu-mode of "auto-custom" or the like.
The following flags exist on the newly added nova-compute units that don't appear on previously existing nova-compute units.
> 3dnowprefetch
> adx
> cqm_mbm_local
> cqm_mbm_total
> hle
> intel_pt
> rdseed
> rtm
> smap
It would be nice if OpenStack could figure this out across a deployment, and do something sane.