<div dir="ltr">Hello Huang.<div><br></div><div>You are right, that this problem is presented in networks update for OS::Nova::Server. I have known about it, and I wanted to discuss it with Steve Baker, but possibly forgot to do it. Thank you, that you raise this thread.</div>
<div><br></div><div>About issue.</div><div><br></div><div>The cause why it happens is simple: when nova calls detach_interface,  port will be detached  and deleted at all.</div><div><br></div><div><br></div><div class="gmail_extra">
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div lang="ZH-CN" link="blue" vlink="purple">

<p class="MsoNormal"><span lang="EN-US">I think there are two solutions:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">First: <u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Heat get the port information before to “detach”, and to create the port again before to “attach”.
<u></u><u></u></span></p>
<p><span lang="EN-US" style="font-size:10.5pt;font-family:Calibri,sans-serif">But I think it looks ugly and will increase risk failure for re-create.</span></p></div></blockquote><div><br></div><div>I agree that it's not useful solution. This approach has a lot of bad sides and one of them :</div>
<div> - if you update only server, your other resources should stay without changes, but in this case port will be recreated. (so it will be new different resource)</div><div> </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div lang="ZH-CN" link="blue" vlink="purple">
<p class="MsoNormal"><span lang="EN-US">Second:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Neutron provide a detach_port api to nova, so that nova provide the real “detach” not “delete” to heat.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> </span></p></div></blockquote></div><br></div><div class="gmail_extra">I have told with folk from neutron team and they told me that neutron does not have such api and it's not possible to do this thing.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">So I think, that problem should be solved in nova. F.e. will be good to provide detach_interface command with additional flag delete_port=True. (some kind of soft detach).</div>
<div class="gmail_extra">In this case we could use existing port after detaching.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Regards,<div>Sergey.</div></div></div>