migration failure in nova-compute (running as a task in nova-compute not through the command line) [closed]

asked 2015-02-19 20:45:30 -0600

user-10 gravatar image

I am trying to run the live-migration as part of many tasks in nova-compute. (i.e. through calling of self.live_migration( blah blah in compute/manager.py)

However, I note a strange behavior. Let's say there is a VM1 in server1 and I want to migrate to server2. Server1 is the controller+compute node and server 2, and others would be compute nodes.

For instance, I hard-code under compute/manager.py:

      instance_uuid = "blah"
      host_to_move = "server1"
      instance = self.conductor_api.instance_get_by_uuid(context, instance_uuid,
      self.live_migration(context, host_to_move, instance, block_migration=False, migrate_data=None)

The output of nova list from server0 shows:

root@server0: nova list

| ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+------+---------+------------+-------------+-----------------------+ | 0cf79500-40e4-49d3-8c77-4893bc747e28 | tst2 | SHUTOFF | - | NOSTATE | demo-net= | +--------------------------------------+------+---------+------------+-------------+-----------------------+ Nova thinks that the vm is still in server0 OS-EXT-SRV-ATTR:host | server0

However, when I do virsh list in server1, the instance that nova thinks is in server0 is running in server1

root@server0: virsh list

id instance state


51 instance-0000005c running

The instance is "running" in server1... I think the migration is done but DB is not being updated.

Also, nova reports that an instance is "paused" in server0 but I think it is running in server1.

2015-02-19 19:08:02.457 31430 INFO nova.compute.manager [-] [instance: 0cf79500-40e4-49d3-8c77-4893bc747e28] VM Paused (Lifecycle Event) 2015-02-19 19:08:02.724 31430 WARNING nova.compute.manager [-] [instance: 0cf79500-40e4-49d3-8c77-4893bc747e28] Instance is paused unexpectedly. Ignore.

It looks like the DB is not being updated after I manually run the live-migration that nova thinks the instance is running in server0? Any idea?

Also, if I want to run frequent migrations between multiple nodes - would nova-scheduler be a good place the code the logic? Nova-compute is myopic in that it is only aware of the instances running in its own node and can't see other instances in other nodes.

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by rbowen
close date 2016-06-21 14:22:03.688385


The version of OpenStack that this is opened against has been declared EOL as per http://releases.openstack.org/ Please open a new issue if you are still seeing this problem with a more recent, supported version of OpenStack. Thanks.

rbowen gravatar imagerbowen ( 2016-06-21 14:21:58 -0600 )edit