[openstack-dev] [Nova][libvirt]when deleting instance which is in migrating state, instance files can be stay in destination node forever
Vladik Romanovsky
vladik.romanovsky at enovance.com
Mon Dec 16 16:01:06 UTC 2013
I would block it in the API or have the API cancelling the migration first.
I don't see a reason why to start an operation that is meant to fail, which also has a complex chain of event, following it failure.
Regardless of the above, I think that the suggested exception handling is needed in any case.
Vladik
----- Original Message -----
> From: "Loganathan Parthipan" <parthipan at hp.com>
> To: "OpenStack Development Mailing List (not for usage questions)" <openstack-dev at lists.openstack.org>
> Sent: Monday, 16 December, 2013 8:25:09 AM
> Subject: Re: [openstack-dev] [Nova][libvirt]when deleting instance which is in migrating state, instance files can be
> stay in destination node forever
>
>
>
> Isn’t just handling the exception instance_not_found enough? By this time
> source would’ve been cleaned up. Destination VM resources will get cleaned
> up by the periodic task since the VM is not associated with this host. Am I
> missing something here?
>
>
>
>
>
>
> From: 王宏 [mailto:w.wanghong1 at gmail.com]
> Sent: 16 December 2013 11:32
> To: openstack-dev at lists.openstack.org
> Subject: [openstack-dev] [Nova][libvirt]when deleting instance which is in
> migrating state, instance files can be stay in destination node forever
>
>
>
>
>
> Hi all.
>
>
> When I try to fix a bug: https://bugs.launchpad.net/nova/+bug/1242961 ,
>
>
> I get a trouble.
>
>
>
>
>
> To reproduce the bug is very easy. Live migrate a vm in block_migration mode,
>
>
> and then delelte the vm immediately.
>
>
>
>
>
> The reason of this bug is as follow:
>
>
> 1. Because live migrate costs more time, so the vm will be deleted
> sucessfully
>
>
> before live migrate complete. And then, we will get an exception while live
>
>
> migrating.
>
>
> 2. After live migrate failed, we start to rollback. But, in the rollback
> method
>
>
> we will get or modify the info of vm from db. Because the vm has been deleted
>
>
> already, so we will get instance_not_found exception and rollback will be
>
>
> faild too.
>
>
>
>
>
> I have two ways to fix the bug:
>
>
> i)Add check in nova-api. When try to delete a vm, we return an error message
> if
>
>
> the vm_state is LIVE_MIGRATING. This way is very simple, but need to
> carefully
>
>
> consider. I have found a related discussion:
>
>
> http://lists.openstack.org/pipermail/openstack-dev/2013-October/017454.html ,
> but
>
>
> it has no result in the discussion.
>
>
> ii)Before live migrate we get all the data needed by rollback method, and add
> a
>
>
> new rollback method. The new method will clean up resources at destination
> based
>
>
> on the above data(The resouces at source has been already cleaned up by
>
>
> deleting).
>
>
>
>
>
> I have no idea whitch one I should choose. Or, any other ideas?:)
>
>
>
>
>
> Regards,
>
>
> wanghong
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
More information about the OpenStack-dev
mailing list