<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 2, 2016 at 6:55 PM, Carl Baldwin <span dir="ltr"><<a href="mailto:carl@ecbaldwin.net" target="_blank">carl@ecbaldwin.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span class=""><p dir="ltr"></p>
<p dir="ltr">On Aug 2, 2016 6:52 PM, "Kevin Benton" <kevin@benton.pub> wrote:<br>> If we decide to just fix the exception handler inside of ipam itself for rollbacks (which would be a quick fix), I would be okay with that but we need to be clear that any driver depending on that alone for state synchronization is in a very dangerous position of becoming inconsistent (i.e. I want something to point people to if we get bug reports saying that the delete call wasn't made when the port failed to create).<br></p></span><p dir="ltr">I think we could fix it in steps. I do think that both issues are worth fixing and will pursue them both. I'll file a bugs.</p></blockquote><div>After some discussion in IRC [2], I think I have a plan. The short term fix is to stop calling rollback for the in-tree driver. Since it uses the same DB session as Neutron, its changes will be rolled back regardless. I implemented that in the context of the original patch that I linked early in this thread [1]. I also cleaned up the unit test *a lot* now that I had a little time to see what it really needed to do. I think that can merge now to fix rollback for the in-tree driver (which would be the only one broken in this way anyway).<br></div><div><br></div><div>This still leaves the fact that IPAM rollback is really pretty broken for other drivers. This isn't new in Newton but now we understand better how badly it is broken. I've filed a bug about that [3]. </div><div><br></div><div>Carl</div><div><br></div><div>[1] <a href="https://review.openstack.org/#/c/348956">https://review.openstack.org/#/c/348956</a></div><div>[2] <a href="http://eavesdrop.openstack.org/irclogs/%23openstack-neutron/%23openstack-neutron.2016-08-03.log.html#t2016-08-03T18:08:58">http://eavesdrop.openstack.org/irclogs/%23openstack-neutron/%23openstack-neutron.2016-08-03.log.html#t2016-08-03T18:08:58</a></div><div>[3] <a href="https://bugs.launchpad.net/neutron/+bug/1610483">https://bugs.launchpad.net/neutron/+bug/1610483</a></div></div></div></div>