<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">On 11 March 2016 at 15:45:57, Simon Pasquier (<a href="mailto:spasquier@mirantis.com">spasquier@mirantis.com</a>) wrote:</div> <blockquote type="cite" class="clean_bq"><span><div><div></div><div>



<title></title>


<div dir="ltr">Thanks for kicking off the discussion!<br>
<div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Mar 10, 2016 at 8: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:0 0 0 .8ex;border-left:1px #ccc 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>From a plugin developer's standpoint, this point doesn't worry
me too much. It's fairly easy to hack the metadata.yaml file for
supporting a newer release of Fuel and I suspect that some users
already do this.<br></div>
<div>And I think that it is good that plugin developers explicitly
advertise which Fuel versions the plugin supports.<br></div>
<div>That being said, I get the need to have something more
automatic for CI and QA purposes. What about having some kind of
flag/option (in the Nailgun API?) that would allow the installation
of a plugin even if it is marked as not compatible with the current
release?<br></div>
<div><br></div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc 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></div></div></div></div></div></span></blockquote><div><br></div><div><div><blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span><div><div><div dir="ltr"><div><div class="gmail_extra"><div class="gmail_quote"><div>+1 and more.<br></div><div>From my past experience, this is a major issue that complicates the plugin maintenance. I understand that it is sometimes necessary to make breaking changes but at least it should be advertised in advance and to a wide audience. Not all plugin developers monitor the Fuel reviews to track these changes...<br></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;"><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></blockquote><div><br></div><div>From my experience (and assuming that framework compatibility isn't broken), this is usually what happens. You need a few if clauses to deal with the differences between releases N and N+1 but this is manageable.</div></div></div></div></div></div></div></span></blockquote></div><p>+1</p><p>Probably one of the most single important thing to have to be able to upgrade a deployed environment with a new plugin version!</p><div><blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span><div><div><div dir="ltr"><div><div class="gmail_extra"><div class="gmail_quote"><div><br class="Apple-interchange-newline"> </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;">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><div dir="ltr"><span><font color="#888888">--<br></font></span></div><div dir="ltr"><span><font color="#888888">Mike Scherbakov<br>#mihgen</font></span></div><br>__________________________________________________________________________<br>OpenStack Development Mailing List (not for usage questions)<br>Unsubscribe:<span class="Apple-converted-space"> </span><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></div>__________________________________________________________________________<span class="Apple-converted-space"> </span><br>OpenStack Development Mailing List (not for usage questions)<span class="Apple-converted-space"> </span><br>Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe<span class="Apple-converted-space"> </span><br>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev<span class="Apple-converted-space"> </span><br></div></div></span></blockquote></div></div></body></html>