Instance physically migrated to destination compute node, we have confirmed the same via "virsh list" and instance is running and accessible.
However the "nova show <id>" still shows old source compute node as host and hypervisor_hostname of the instance. It seems the nova db has not updated with the new target compute node.
From the logs, it seems the instance migration failed at post migration steps, If this is true then it should not migrate instance to destination host. Please find below logs.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2018-09-12 15:51:36.161 683974 INFO nova.virt.libvirt.driver [req-0d32334f-4fc3-48e0-82f2-277d6e528ba0 07330a460401434bb02fed5acb0e3d3c 1b6c62dd0a6a4f7c8917304292298cb0 - - -] [instance: 985cb1a2-bf8b-4f2b-9474-a8f17dbba511] Migration operation has completed
2018-09-12 15:51:36.161 683974 INFO nova.compute.manager [req-0d32334f-4fc3-48e0-82f2-277d6e528ba0 07330a460401434bb02fed5acb0e3d3c 1b6c62dd0a6a4f7c8917304292298cb0 - - -] [instance: 985cb1a2-bf8b-4f2b-9474-a8f17dbba511] _post_live_migration() is started..
2018-09-12 15:51:36.253 683974 ERROR nova.volume.cinder [req-0d32334f-4fc3-48e0-82f2-277d6e528ba0 07330a460401434bb02fed5acb0e3d3c 1b6c62dd0a6a4f7c8917304292298cb0 - - -] Initialize connection failed for volume 52c2cc27-0e4d-4ce3-be95-094c239b7107 on host XX-comp-13.stack.enoc-airtel.com. Error: The request you have made requires authentication. (HTTP 401) Code: 401. Attempting to terminate connection.
2018-09-12 15:51:36.258 683974 ERROR nova.volume.cinder [req-0d32334f-4fc3-48e0-82f2-277d6e528ba0 07330a460401434bb02fed5acb0e3d3c 1b6c62dd0a6a4f7c8917304292298cb0 - - -] Connection between volume 52c2cc27-0e4d-4ce3-be95-094c239b7107 and host XX-comp-13.stack.enoc-airtel.com might have succeeded, but attempt to terminate connection has failed. Validate the connection and determine if manual cleanup is needed. Error: The request you have made requires authentication. (HTTP 401) Code: 401.
2018-09-12 15:51:36.299 683974 ERROR nova.compute.manager [req-0d32334f-4fc3-48e0-82f2-277d6e528ba0 07330a460401434bb02fed5acb0e3d3c 1b6c62dd0a6a4f7c8917304292298cb0 - - -] [instance: 985cb1a2-bf8b-4f2b-9474-a8f17dbba511] Live migration failed.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We update instance.host in post_live_migration_at_destination which is called via rpc from _post_live_migration on the source after a lot of cleanup has already happened. I wonder why we don't update instance.host from the source at the start of that method.