Live Migration Failure Due to CPU Model Mismatch
Problem
Instances fail to live migrate between hypervisors, with errors Unacceptable CPU info: CPU doesn't have compatibility indicating that no suitable host is found, even though resources are available.
Environment
- Private Cloud Director Virtualisation - v2025.4 and Higher
- Self-Hosted Private Cloud Director Virtualisation - v2025.4 and Higher
Cause
The issue was caused by a CPU model mismatch between the source and destination hypervisors. The source hypervisor was running a different CPU model compared to other compute nodes. Nova’s CPU compatibility checks during live migration failed because the CPU feature set did not match across the involved hosts.
When Nova detects incompatible CPU models, it will reject the migration with a "No valid host found" error, even if other resources (CPU, RAM, Disk) are sufficient.
Diagnostics
- Verify the supported CPU Model from the underlying hypervisor:
$ virsh cpu-models x86_64...SandyBridgeSandyBridge-IBRSIvyBridgeIvyBridge-IBRSHaswell-noTSXHaswell-noTSX-IBRSHaswellHaswell-IBRS- Check the current cpu_models on the source hypervisor from the file
/opt/pf9/etc/nova/conf.d/nova_override.conf, and check whether it is same on other hypervisor hosts:
$ cat /opt/pf9/etc/nova/conf.d/nova_override.conf[libvirt]cpu_mode = customcpu_models = SandyBridge-IBRS ## Example CPU Model- Migration attempts from any source hypervisor to a destination hypervisor with a different CPU model configuration failed, displaying the following error in
/var/log/pf9/ostackhost.logon the destination host:
nova.exception.InvalidCPUInfo: Unacceptable CPU info: CPU doesn't have compatibility.Resolution
- Ensure the source and destination hypervisor nodes have the supported CPU model
/opt/pf9/etc/nova/conf.d/nova_override.conf. And this CPU model should be same as configured on other hypervisors. - Restart
ostackhostservice on hypervisor where thecpu_modelis updated:
$ sudo systemctl restart pf9-ostackhostValidation
- Re-attempt migration of VMs hosted on the source hypervisor to another hypervisor — Check if the migration is successful.
- Check the
/var/log/pf9/ostackhost.loglogs to ensure no CPU mismatch errors were reported.