<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"MS PGothic";
        panose-1:2 11 6 0 7 2 5 8 2 4;}
@font-face
        {font-family:"\@MS PGothic";
        panose-1:2 11 6 0 7 2 5 8 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"MS PGothic","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">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?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
</span><span lang="JA" style="font-size:10.0pt">王瘢雹宏</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> [mailto:w.wanghong1@gmail.com]
<br>
<b>Sent:</b> 16 December 2013 11:32<br>
<b>To:</b> openstack-dev@lists.openstack.org<br>
<b>Subject:</b> [openstack-dev] [Nova][libvirt]when deleting instance which is in migrating state, instance files can be stay in destination node forever<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Hi all.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">When I try to fix a bug:<a href="https://bugs.launchpad.net/nova/+bug/1242961">https://bugs.launchpad.net/nova/+bug/1242961</a>, <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I get a trouble. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">To reproduce the bug is very easy. Live migrate a vm in block_migration mode,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">and then delelte the vm immediately.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The reason of this bug is as follow:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">1. Because live migrate costs more time, so the vm will be deleted sucessfully<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   before live migrate complete. And then, we will get an exception while live<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   migrating.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2. After live migrate failed, we start to rollback. But, in the rollback method<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   we will get or modify the info of vm from db. Because the vm has been deleted<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   already, so we will get instance_not_found exception and rollback will be<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   faild too.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I have two ways to fix the bug:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">i)Add check in nova-api. When try to delete a vm, we return an error message if <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">the vm_state is LIVE_MIGRATING. This way is very simple, but need to carefully<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">consider. I have found a related discussion:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="http://lists.openstack.org/pipermail/openstack-dev/2013-October/017454.html">http://lists.openstack.org/pipermail/openstack-dev/2013-October/017454.html</a>, but<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">it has no result in the discussion.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">ii)Before live migrate we get all the data needed by rollback method, and add a<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">new rollback method. The new method will clean up resources at destination based<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">on the above data(The resouces at source has been already cleaned up by <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">deleting).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I have no idea whitch one I should choose. Or, any other ideas?:)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Regards,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">wanghong<o:p></o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>