<div dir="ltr">Hi Mike, comments are inline.<div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 10, 2016 at 10:30 AM, Mike Scherbakov <span dir="ltr"><<a href="mailto:mscherbakov@mirantis.com" target="_blank">mscherbakov@mirantis.com</a>></span> wrote:<br><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 dir="ltr"><div style="font-size:13px;line-height:19.5px"><span style="line-height:1.5">Hi folks,</span></div><div style="font-size:13px;line-height:19.5px"><span style="line-height:1.5">in order to make a decision whether we need to support example plugins, and if actually need them [1], I'd suggest to discuss more common things about plugins.</span></div><div style="font-size:13px;line-height:19.5px"><span style="line-height:1.5"><br></span></div><div style="font-size:13px;line-height:19.5px"><span style="line-height:1.5">My thoughts:</span></div><div style="font-size:13px;line-height:19.5px"><span style="line-height:1.5">1) This is not good, that our plugins created for Fuel 8 won't even install on Fuel 9. By default, we should assume that plugin will work at newer version of Fuel. However, for proper user experience, I suggest to create meta-field "validated_against", where plugin dev would provide versions of Fuel this plugin has been tested with. Let's say, it was tested against 7.0, 8.0. If user installs plugin in Fuel 9, I'd suggest to show a warning saying about risks and the fact that the plugin has not been tested against 9. We should not restrict intsallation against 9, though.</span></div></div></blockquote><div><br></div><div>User can install all previous version of plugins on Fuel 9, but those plugins are not going to be shown for Mitaka-9.0 release (for old release only). It should be added into compatibility list in order to make it compatible with OpenStack release. If you want to allow to enable plugin for specific release, it's going to be tricky since the format of DSL for different releases can be different, and you may get not only broken deployment, but 500 error from Nailgun since it will get unexpected format of data.</div><div> </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 dir="ltr"><div style="font-size:13px;line-height:19.5px"><span style="line-height:1.5"><br></span></div><div style="font-size:13px;line-height:19.5px">2) We need to keep backward compatibility of pluggable interface for a few releases. So that plugin developer can use pluggable interface of version x, which was supported in Fuel 6.1. If we still support it, it would mean (see next point) compatibility of this plugin with 6.1, 7.0, 8.0, 9.0. If we want to deprecate pluggable interface version, we should announce it, and basically follow standard process of deprecation.</div></div></blockquote><div><br></div><div>It requires clarification, in fact we support backward compatibility for previous release, this requirement is a result of Fuel upgradability requirement (after upgrade to new Fuel plugins won't get broken for old releases).</div><div>If we are talking about plugin format improvement/changes, then yes, we are thinking about deprecation, but it should be improved by sending announcement/writing document/providing appropriate messages during build.</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 dir="ltr"><div style="font-size:13px;line-height:19.5px"><br></div><div style="font-size:13px;line-height:19.5px">3) Plugin's ability to work against multiple releases of Fuel (multi-release support). If if..else clauses to support multiple releases are fairly minimal, let's say take less that 10% of LOC, I'd suggest to have this supported. Just because it will be easier for plugin devs to support their plugin code (no code duplication, single repo for multiple releases).</div><div style="font-size:13px;line-height:19.5px"><br></div></div></blockquote><div>If you are referring to compatibility with master node, it's being supported.</div><div>If it's about multi-release (OpenStack) support, it will take more time (and problems afterwards) to drop support of multi-release plugins. Hope that our tech debt will be fixed in the next release, since FFE was not granted for the current release [1]. Also we've had a huge discussion about it in a separate thread [2].</div><div><br></div><div>[1] <a href="https://review.openstack.org/#/c/271417/" target="_blank">https://review.openstack.org/#/c/271417/</a><br></div><div>[2] <a href="http://lists.openstack.org/pipermail/openstack-dev/2016-February/086381.html">http://lists.openstack.org/pipermail/openstack-dev/2016-February/086381.html</a></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 dir="ltr"><div style="font-size:13px;line-height:19.5px"></div><div style="font-size:13px;line-height:19.5px">Thoughts?</div><div style="font-size:13px;line-height:19.5px"><br></div><div style="font-size:13px;line-height:19.5px">[1] <a href="http://lists.openstack.org/pipermail/openstack-dev/2016-March/088211.html" target="_blank">http://lists.openstack.org/pipermail/openstack-dev/2016-March/088211.html</a></div></div><span><font color="#888888"><div dir="ltr">-- <br></div><div dir="ltr">Mike Scherbakov<br>#mihgen</div>
</font></span><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>
<br></blockquote></div><br></div></div>