<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 19, 2016 at 6:16 PM, Lucas Alvares Gomes <span dir="ltr"><<a href="mailto:lucasagomes@gmail.com" target="_blank">lucasagomes@gmail.com</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">Hi,<br>
<span class=""><br>
> So… how does any library get ready to be used by others? Clearly it is being<br>
> used now by the fuel-agent. Do we say ‘sorry fuel-agent, we don’t guarantee<br>
> yet that we won’t break you’? Or ‘fuel-agent, just so you know. Ironic-lib<br>
> isn’t quite ready to be used so we cannot guarantee that we won’t break you<br>
> but we will try our best not to do so’? Or… ?<br>
><br>
<br>
</span>Yes, I think we should say sorry for not communicating this well and<br>
then fix our stuff, i.e Add a note to the ironic-lib README, indicate<br>
that it's ironic use only in the governance description, send an email<br>
to the ML, etc... Fortunately, fuel-agent only uses a tiny function<br>
[0] of the library which can easily be copied into fuel's repository<br>
and have the ironic-lib dependency dropped, here's a patch [1].<br></blockquote><div><br></div><div><div>Agree with this, as it was not designed for general use and we proposed</div><div>a fix before breaking people, I think it's fine, maybe we need to update</div><div>the ironic-lib README to mention all the things discussed in this thread.</div></div><div> </div><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=""><br>
<br>
> What needs to be done for ironic-lib to be officially used by anyone? Lucas<br>
> mentioned some things. Is that all? Do we open bugs for them? At what point<br>
> would we feel comfortable saying ‘yes, here’s a library that can be used by<br>
> anyone?’<br>
><br>
<br>
</span>I think the library should then be architect with that in mind, the<br>
methods should be flexible so they can be extended, methods should be<br>
less opinionated (i.e see work_on_disk()[2], it does partition the<br>
disk for the ironic use case), we should have a proper documentation,<br>
should be independent of the Ironic project (e.g ironic-lib _right<br>
now_ depends on the ironic-rootwrap command, which is create by<br>
installing ironic), etc... IMO That would be a good starting point.<br>
<br>
If it is agreed that we want this library to be generic, then yes we<br>
should open bugs against it.</blockquote><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">
<br>
[0] <a href="https://github.com/openstack/fuel-agent/blob/master/contrib/ironic/ironic-fa-deploy/ironic_fa_deploy/modules/fuel_agent.py#L288" rel="noreferrer" target="_blank">https://github.com/openstack/fuel-agent/blob/master/contrib/ironic/ironic-fa-deploy/ironic_fa_deploy/modules/fuel_agent.py#L288</a><br>
[1] <a href="https://review.openstack.org/#/c/318724/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/318724/</a><br>
[2] <a href="https://github.com/openstack/ironic-lib/blob/adedae3915b5f4e9104b2a3f1f5d0413457fa8db/ironic_lib/disk_utils.py#L387" rel="noreferrer" target="_blank">https://github.com/openstack/ironic-lib/blob/adedae3915b5f4e9104b2a3f1f5d0413457fa8db/ironic_lib/disk_utils.py#L387</a><br>
<br>
As a note and not OpenStack specific, here's a great talk by Michael<br>
Kerrisk about the (ideal) process of designing a Linux kernel<br>
interfaces. It's not a tech talk, it's just about the process and<br>
common errors and how they can be avoided:<br>
<a href="http://bofh.nikhef.nl/events/FOSDEM/2016/janson/how-to-design-a-linux-kernel-api.mp4" rel="noreferrer" target="_blank">http://bofh.nikhef.nl/events/FOSDEM/2016/janson/how-to-design-a-linux-kernel-api.mp4</a><br>
<br>
Hope that helps,<br>
<div class=""><div class="h5">Lucas<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>
</div></div></blockquote></div><br></div></div>