Ask Your Question
0

live migration: cpu doesn't have compatibility

asked 2012-09-11 04:20:11 -0500

zhyuan-zhou gravatar image

I deployed ESSEX with two nodes, when I use live migration (nova live-migration instance_uuid targetHost ) , there will be error reported "cpu doesn't have compatibility". I checked the target machine CPU do have less features (just two flags less) than source machine ; but both the two CPU is VT enabled, they just have 2 features differ.
If I migrate a instance from the feature-richer node to the other node, it works well. This could be a possible problem of migration feature? the differences between these CPUs are actually not important for virtual machine running, nova should just check the required features but not CPU features exactly greater or equal ?

edit retag flag offensive close merge delete

6 answers

Sort by ยป oldest newest most voted
0

answered 2012-09-11 06:43:28 -0500

zhyuan-zhou gravatar image

Looks libvirt can help caculate common set of CPU capabilities for a pool of host machines. But can anyone explain how to configure it (whether on libvirt on nova)?

edit flag offensive delete link more
0

answered 2012-09-18 13:51:51 -0500

Have you a solution for this problem Zhou i'm facing that problem too.

edit flag offensive delete link more
0

answered 2012-09-18 13:55:01 -0500

If you check the scheduler log its a Libvirt thing:

2012-09-18 09:48:26 TRACE nova.scheduler.driver raise result 2012-09-18 09:48:26 TRACE nova.scheduler.driver RemoteError: Remote error: InvalidCPUInfo Unacceptable CPU info: CPU doesn't have compatibility. 2012-09-18 09:48:26 TRACE nova.scheduler.driver 2012-09-18 09:48:26 TRACE nova.scheduler.driver 0 2012-09-18 09:48:26 TRACE nova.scheduler.driver 2012-09-18 09:48:26 TRACE nova.scheduler.driver Refer to http://libvirt.org/html/libvirt-libvirt.html#virCPUCompareResult (http://libvirt.org/html/libvirt-libvi...)

Some clue?

edit flag offensive delete link more
0

answered 2012-09-24 01:17:21 -0500

zhyuan-zhou gravatar image

Sorry for reply late. We end up modify the migration code , relax the CPU check logic.

You can find the code at nova/virt/libvirt/driver.py #check_can_live_migrate_destination

def check_can_live_migrate_destination(self, ctxt, instance_ref, block_migration=False, .... # Compare CPU src = instance_ref['host'] source_cpu_info = self._get_compute_info(ctxt, src)['cpu_info'] self._compare_cpu(source_cpu_info)

    # Create file on storage, to be checked on source host
    filename = self._create_shared_storage_test_file()

    return {"filename": filename, "block_migration": block_migration}
edit flag offensive delete link more
0

answered 2012-11-14 02:50:58 -0500

hello Zhiyuan Zhou I'm facing the same problem with you , how did you fix it ?

edit flag offensive delete link more
0

answered 2012-12-04 08:53:11 -0500

Hi Zhou, according to what you replied on 9/24, i assumed that you referred to the Folsom version. I want to check with you that except the solution you took (modify the code), is there any other options avaliable ? thanks in advance!

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2012-09-11 04:20:11 -0500

Seen: 555 times

Last updated: Dec 04 '12