<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>One of the hidden costs of an external plugin that things break. This is something that happens to us at least once a week. We have been proactive in this by doing the following:</div>
<ol>
<li>Running the decomposed plugin unit tests with every neutron change – this gives us an indication of which patch broke and why</li><li>Running the Ci</li></ol>
<div>The onus is on the decomposed maintainers.</div>
<div><br>
</div>
<div>Having said that the ability to actually do some development is liberating.</div>
<div><br>
</div>
<div>A luta continua</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Kevin Benton <<a href="mailto:blak111@gmail.com">blak111@gmail.com</a>><br>
<span style="font-weight:bold">Reply-To: </span>OpenStack List <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Date: </span>Wednesday, July 1, 2015 at 1:49 PM<br>
<span style="font-weight:bold">To: </span>OpenStack List <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [openstack-dev] [Neutron] - breaking changes for plugins/drivers<br>
</div>
<div><br>
</div>
<div>
<div>
<div dir="ltr">><span style="font-size:12.8000001907349px">For the second one, I think we made it clear before that no plugins </span><span style="font-size:12.8000001907349px">must rely on neutron.openstack.* contents.</span>
<div><span style="font-size:12.8000001907349px"><br>
</span></div>
<div><span style="font-size:12.8000001907349px">Where was this made clear? I didn't know about this until it broke and I'm a very frequent contributor and reviewer, which is the core of my complaint. </span><span style="font-size:12.8000001907349px">The updated
 wiki is helpful, but doing it after-the-fact only helps when people try to figure out why they can't make changes to their repos.</span></div>
<div><br>
</div>
<div><span style="font-size:12.8000001907349px">In that patch there were 3 in-tree third party plugins that had to be updated. That should have given a hint that it was likely to break other plugins as well. The other annoying lesson from that is that plugins/drivers
 still in tree are getting better treatment than the ones that went through the split process.</span></div>
<div><span style="font-size:12.8000001907349px"><br>
</span></div>
<div><span style="font-size:12.8000001907349px">We need to be much more diligent about announcing these things ahead of time or we need to be clear that Neutron is completely unstable as a framework and third party drivers should basically never import anything
 from the neutron namespace.</span></div>
<div><span style="font-size:12.8000001907349px"><br>
</span></div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Jun 30, 2015 at 11:58 PM, Ihar Hrachyshka <span dir="ltr">
<<a href="mailto:ihrachys@redhat.com" target="_blank">ihrachys@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA256<br>
<div>
<div><br>
On 07/01/2015 08:22 AM, Kevin Benton wrote:<br>
> Hi,<br>
><br>
> We have had at least two breaking changes merge this week for<br>
> out-of-tree drivers/plugins. These are just the two I noticed that<br>
> broke the Big Switch CI (the one I keep an eye on since I had set<br>
> it up):<br>
><br>
> 1. Removed test_lib that changes config files.<br>
> <a href="https://review.openstack.org/#/c/196583/" rel="noreferrer" target="_blank">
https://review.openstack.org/#/c/196583/</a> 2. Removed the loopingcall<br>
> common util with no deprecation cycle or announcement.<br>
> <a href="https://review.openstack.org/#/c/192999/" rel="noreferrer" target="_blank">
https://review.openstack.org/#/c/192999/</a><br>
><br>
> I proposed a revert for 1 that merged, but I don't particularly<br>
> want to keep fighting this. What is our current policy on this?<br>
> Just change whatever we want and tell plugin maintainers this is<br>
> just the way things work?<br>
><br>
<br>
</div>
</div>
For the first one, the revert is justified.<br>
<br>
For the second one, I think we made it clear before that no plugins<br>
must rely on neutron.openstack.* contents.<br>
<br>
Now I've made it mentioned at:<br>
<a href="https://wiki.openstack.org/wiki/Neutron/LibraryAPIBreakage" rel="noreferrer" target="_blank">https://wiki.openstack.org/wiki/Neutron/LibraryAPIBreakage</a><br>
<br>
If your plugin is using any of neutron.openstack.* contents, just stop<br>
doing it. It's going to break.<br>
<br>
Ihar<br>
-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v2<br>
<br>
iQEcBAEBCAAGBQJVk4+AAAoJEC5aWaUY1u57OE8IAKDqKudi5zOUxRPc4Elzsdw4<br>
mASF5Mtguj5q9OUpYIyeOkbsIKmOwop4tbGjz52L+OZ8aLq1XptpKLUuX6mBL3lS<br>
m0/DtD2RlBRTmiO/kyBxeqJbsj7nZU9eoiDJ88gN51IetN1kIR09rAbmdkoduhK2<br>
FIrFLJhhuVqmb8S377cbSgJ46kC1DeDa2xhtFWB39iIKO3ZTwO7ia5KRipTSTyNV<br>
4ngB0+d8EgMfmsKj4Bd7/btkg5rI+o4qNgd4L1Ncd1BQzPiOzzeeGo0lAe86Kf7z<br>
KUH2Sw6n6mIUZJSGzDP4cigGqSsilBaurryK90G/Go1q7BEMRFVyrGHObnMBZTw=<br>
=qSnW<br>
-----END PGP SIGNATURE-----<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">
OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div>
<div>Kevin Benton</div>
</div>
</div>
</div>
</div>
</div>
</span>
</body>
</html>