<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 22, 2016 at 9:48 PM, Loo, Ruby <span dir="ltr"><<a href="mailto:ruby.loo@intel.com" target="_blank">ruby.loo@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">







<div bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri">Hi,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri">I admit, I didn't read the entire thread [0], but did read the summary [1]. I like this, except that I'm not sure about #3. What's the rationale of adding a new config option 'enable_unsupported_drivers'
 that defaults to False. Versus not having it, and "just" logging a warning if they are loading an unsupported (in-tree) driver?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri">If I understand this...<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri">If we have 'enable_unsupported_drivers': since it defaults to False, the conductor will fail on startup, if an unsupported driver is in the enabled_drivers config. (The conductor will emit
 a warning in the logs, or maybe it won't?) The operator (if they haven't changed it), will now change it to True if they want to use any unsupported drivers. The conductor will start up and emit a warning in the logs.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri">If we don't have an enable_unsupported_drivers config, will the conductor start up and emit a warning in the logs?</span></p></div></div></blockquote><div><br></div><div>We have not added any deprecation warnings to drivers. I think that just gives a bit more time to switch to other drivers and it will make the removal more visible, as the current spec states: "Third party driver teams that do not implement a reliable reporting CI test system by the N release feature freeze (see Deliverable milestones above) will be removed from the ironic source tree.", IIUC meaning that conductor will fail startup not being able to find the removed code.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div bgcolor="white" lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri">I was also wondering, where is the value for the 'supported' flag for each driver going to be kept? Hard-coded in the driver code?</span></p></div></div></blockquote><div><br></div><div>Yep, seems like it.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div bgcolor="white" lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri"><span class=""><font color="#888888"><u></u><u></u></font></span></span></p><span class=""><font color="#888888">
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri">--ruby<u></u><u></u></span></p></font></span><div><div class="h5">
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri"><u></u> <u></u></span></p>
<div>
<div>
<p class="MsoNormal">On 2016-08-19, 10:15 AM, "Jim Rollenhagen" <<a href="mailto:jim@jimrollenhagen.com" target="_blank">jim@jimrollenhagen.com</a>> wrote:<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:4.5pt solid rgb(181,196,223);padding:0cm 0cm 0cm 4pt;margin-left:3.75pt;margin-right:0cm">
<div>
<div>
<div>
<p class="MsoNormal">Hi Ironickers,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">There was a big thread here[0] about Cinder, driver removal, and standard<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">deprecation policy. If you haven't read through it yet, please do before<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">continuing here. :)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">The outcome of that thread is summarized well here.[1]<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I know that I previously had a different opinion on this, but I think we<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">should go roughly the same route, for the sake of the users.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">1) A ``supported`` flag for each driver that is True if and only if the driver<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">   is tested in infra or third-party CI (and meets our third party CI<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">   requirements).<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">2) If the supported flag is False for a driver, deprecation is implied (and<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">   a warning is emitted at load time). A driver may be removed per standard<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">   deprecation policies, with turning the supported flag False to start the<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">   clock.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">3) Add a ``enable_unsupported_drivers`` config option that allows enabling<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">   drivers marked supported=False. If a driver is in enabled_drivers, has<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">   supported=False, and enable_unsupported_drivers=<wbr>False, ironic-conductor<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">   will fail to start. Setting enable_unsupported_drivers=<wbr>True will allow<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">   ironic-conductor to start with warnings emitted.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">It is important to note that (3) does still technically break the standard<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">deprecation policy (old config may not work with new version of ironic).<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">However, this is a much softer landing than the original plan. FWIW, I do<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">expect (but not hope!) this part will be somewhat contentious.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I'd like to hear thoughts and get consensus on this from the rest of the<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">ironic community, so please do reply whether you agree or disagree.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I'm happy to do the work required (update spec, code patches, doc updates)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">when we do come to agreement.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">// jim<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">[0] <a href="http://lists.openstack.org/pipermail/openstack-dev/2016-August/101428.html" target="_blank">
http://lists.openstack.org/<wbr>pipermail/openstack-dev/2016-<wbr>August/101428.html</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">[1] <a href="http://lists.openstack.org/pipermail/openstack-dev/2016-August/101898.html" target="_blank">
http://lists.openstack.org/<wbr>pipermail/openstack-dev/2016-<wbr>August/101898.html</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">______________________________<wbr>______________________________<wbr>______________<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">OpenStack Development Mailing List (not for usage questions)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org" target="_blank">
OpenStack-dev-request@lists.<wbr>openstack.org</a>?subject:<wbr>unsubscribe<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div></div></div>
</div>

<br>______________________________<wbr>______________________________<wbr>______________<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.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
<br></blockquote></div><br></div></div>