Live migration between hosts with differents CPU models fails
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
jiang, yunhong |
Bug Description
When trying to migrate an instance from a new compute node to an older compute node (hardware-wise), nova-computes fails saying that the CPU models are incompatible and leaves the instance in Error Status.
I did specify the CPU model in instances with the options :
libvirt_
libvirt_
While it seems normal to refuse migration when libvirt_cpu_mode is set to host-model or host-passthrough, setting it to custom and using kvm64 in instances should not impact CPU compatibility between hosts.
Migrating the other way around (old to new) works correctly, mainly because of a superseeding set of instructions.
I'm using the Folsom Ubuntu packaged release of nova-compute on Ubuntu 12.10.
Edit : Adding stacktrace
MSG_ID is fe5d9a7c1a634d7
[req-0512c53b-
Traceback (most recent call last):
File "/usr/lib/
disk_
File "/usr/lib/
return f(self, context, instance, *args, **kw)
File "/usr/lib/
disk_
File "/usr/lib/
dest=dest))
File "/usr/lib/
return rpc.call(context, self._get_
File "/usr/lib/
return _get_impl(
File "/usr/lib/
rpc_
File "/usr/lib/
rv = list(rv)
File "/usr/lib/
raise result
RemoteError: Remote error: InvalidCPUInfo_
2012-11-14 22:33:41 TRACE nova.api.
0
2012-11-14 22:33:41 TRACE nova.api.
Refer to http://
Traceback (most recent call last):
2012-11-14 22:33:41 TRACE nova.api.
File "/usr/lib/
rval = self.proxy.
2012-11-14 22:33:41 TRACE nova.api.
File "/usr/lib/
return getattr(proxyobj, method)(ctxt, **kwargs)
2012-11-14 22:33:41 TRACE nova.api.
File "/usr/lib/
temp_level, payload)
2012-11-14 22:33:41 TRACE nova.api.
File "/usr/lib/
self.gen.next()
2012-11-14 22:33:41 TRACE nova.api.
File "/usr/lib/
return f(*args, **kw)
2012-11-14 22:33:41 TRACE nova.api.
File "/usr/lib/
instance, block_migration, disk_over_commit)
2012-11-14 22:33:41 TRACE nova.api.
File "/usr/lib/
self.
2012-11-14 22:33:41 TRACE nova.api.
File "/usr/lib/
raise exception.
2012-11-14 22:33:41 TRACE nova.api.
InvalidCPUInfo: Unacceptable CPU info: CPU doesn't have compatibility.
2012-11-14 22:33:41 TRACE nova.api.
0
2012-11-14 22:33:41 TRACE nova.api.
Refer to http://
2012-11-14 22:33:41 TRACE nova.api.
description: | updated |
summary: |
- Live migration between hosts with same instances' CPU models fails + Live migration between hosts with differents CPU models fails |
Changed in nova: | |
assignee: | Jian Wen (wenjianhn) → Yaguang Tang (heut2008) |
Changed in nova: | |
assignee: | nobody → Daniel Berrange (berrange) |
status: | Confirmed → In Progress |
Changed in nova: | |
importance: | Wishlist → Medium |
Changed in nova: | |
assignee: | Daniel Berrange (berrange) → jiang, yunhong (yunhong-jiang) |
Changed in nova: | |
assignee: | jiang, yunhong (yunhong-jiang) → Jay Pipes (jaypipes) |
Changed in nova: | |
assignee: | Jay Pipes (jaypipes) → jiang, yunhong (yunhong-jiang) |
Changed in nova: | |
milestone: | none → kilo-3 |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | kilo-3 → 2015.1.0 |
I'm stuck in same situation.
Before start debugging I'm giving a guess on different number of cores between each host.
I'm running 64 core and 48 core hosts and trying to perform live migration.
It fails with exact same reason you are facing.