"nova live-migration" fails silently
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
High
|
Unassigned | ||
openstack-manuals |
Fix Released
|
High
|
Florian Haas | ||
nova (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Originally posted to the openstack list; see https:/
Symptom is relatively easy to describe: you run "nova live-migration <guest> <host>", and nothing happens.
A few words of background:
- System is Ubuntu precise with stock packages and regular updates, no external PPAs. nova-compute is at version 2012.1-0ubuntu2.1.
- libvirtd is running with the "-l" option and with a working TCP socket as described here:
http://
- /var/lib/
Now, if you're setting various --*vnc* flags in nova.conf, live migration fails even at the libvirt level (a similar issue has been
reported here recently, see https:/
# virsh migrate --live --p2p --domain instance-0000000a \
--desturi qemu+tcp:
error: Unable to read from monitor: Connection reset by peer
("skunk-x" is secondary IP address of the host "skunk", living in a dedicated network used for migrations).
This is in the libvirt.log on the source host:
2012-06-05 20:39:25.838+0000: 12241: error : virNetClientPro
At the same time, I am seeing this in the libvirtd log on the target host:
2012-06-05 20:39:25.394+0000: 6828: error : qemuMonitorIORe
Removing all --*vnc* flags from nova.conf resolved that issue for me.
Then, doing the same command as above resulted in a connection timeout, because even if I set "qemu+tcp:
# virsh migrate --live --p2p \
--domain instance-0000000d --desturi qemu+tcp:
error: unable to connect to server at 'skunk:49159': Connection timed out
Switching the migration to tunnelled mode solved that issue.
# virsh domstate instance-0000000d
running
# virsh migrate --live --p2p \
--domain instance-0000000d --desturi qemu+tcp:
--tunnelled
# virsh --connect qemu+tcp:
running
So therefore, these are the flags that I'm using in my nova.conf:
--live_
--live_
VIR_MIGRATE_
(Note that "VIR_MIGRATE_
"nova live-migration <guest> <host>" returns an exit code of 0, and the only trace that I find of the migration in the logs is this, which is evidently from the pre_live_migration method.
2012-06-06 11:05:13 DEBUG nova.rpc.amqp [-] received {u'_context_roles':
[u'KeystoneServ
u'069c958b7c034
u'_context_
u'args': {u'instance_id': 13, u'block_migration': False, u'disk': None},
u'_context_
u'_context_
u'_context_
u'_context_
u'pre_live_
(pid=14437) _safe_log
/usr/lib/
Looks like it never gets to live_migration.
Changed in nova: | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in openstack-manuals: | |
status: | New → In Progress |
Changed in openstack-manuals: | |
assignee: | nobody → Florian Haas (fghaas) |
Changed in openstack-manuals: | |
importance: | Undecided → High |
For anyone else affected by this issue, please see Bug #987473.
In this case, it was apparently caused by the presence of double quotes around the --live_ migration_ uri and migration_ flag values. Removing the double quotes immediately made the issue go away.
--live_