Live migrations from Mitaka to Liberty are broken
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Dan Smith |
Bug Description
I have an environment consisting of three nodes:
Controller Mitaka, commit id: 59a07f00ad3c527
Compute Mitaka, commit id: 59a07f00ad3c527
Compute Stable/Liberty, commit id: 184e2552490ecfd
I am able to live migrate VMs from Liberty to Mitaka using this CLI command:
nova --os-compute-
But when I want to move VM from Mitaka to Liberty I'm ending up with an error:
ERROR nova.virt.
process exited while connecting to monitor: 2016-03-
failure in name resolution
Traceback:
Traceback (most recent call last):
File "/usr/local/
timer()
File "/usr/local/
cb(*args, **kw)
File "/usr/local/
waiter.
File "/usr/local/
result = function(*args, **kwargs)
File "/opt/stack/
return func(*args, **kwargs)
File "/opt/stack/
instance=
File "/usr/local/
self.
File "/usr/local/
six.
File "/opt/stack/
CONF.
File "/usr/local/
result = proxy_call(
File "/usr/local/
rv = execute(f, *args, **kwargs)
File "/usr/local/
six.reraise(c, e, tb)
File "/usr/local/
rv = meth(*args, **kwargs)
File "/usr/local/
if ret == -1: raise libvirtError ('virDomainMigr
libvirtError: internal error: process exited while connecting to monitor: 2016-03-
Same happens when VM is volume-backed or on shared storage.
This happens because pre_live_migration, that is executed on destination (Liberty), returns dict that looks like:
{u'volume': {}, u'serial_
When it comes back to rpc api of new compute node here: https:/
We just pass this data to .from_legacy_dict() migrate_data object method, but it does expect that all this data will be nested under 'pre_live_
Because of this we don't really convert data coming from pre_live_migration phase and pass migrate_data object with Nones that are needed for setting up VNC.
Changed in nova: | |
importance: | Undecided → High |
tags: | added: mitaka-rc-potential |
tags: | removed: mitaka-rc-potential |
Forgot to mention that I have applied these upgrade levels on controller and computes:
compute=4.5
network=1.15