<div dir="ltr"><br><div>Seems to me like we can keep ironic-lib git repository as a git submodule of the ironic and ironic-python-agent repositories.  Any commit in Ironic or Ironic-python-agent can change ironic-lib independently.  Also, looks like our CI system supports it by automatically pushing commits in the subscribed projects [1].  Sounds like that should be better instead of making a new release of ironic-lib and waiting for it to be published to make changes in Ironic or Ironic-python-agent.</div><div><br></div><div>[1] <a href="https://review.openstack.org/Documentation/user-submodules.html">https://review.openstack.org/Documentation/user-submodules.html</a></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 16, 2015 at 9:24 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Hi,<br>
<br>
> I haven't paid any attention to ironic-lib; I just knew that we wanted to<br>
> have a library of common code so that we didn't cut/paste. I just took a<br>
> look[1] and there are files there from 2 months ago. So far, everything is<br>
> under ironic_lib (ie, no subdirectories to group things). Going forward, are<br>
> there guidelines as to where/what goes into this library?<br>
<br>
</span>I don't think we have guidelines for the struct of the project, we<br>
should of course try to organize it well.<br>
<br>
About what goes into this library, AFAICT, this is place where code<br>
which is used in more than one project under the Ironic umbrella<br>
should go. For example, both Ironic and IPA (ironic-python-agent)<br>
deals with disk partitioning, so we should create a module for disk<br>
partitioning in the ironic-libs repository which both Ironic and IPA<br>
will import and use.<br>
<span class=""><br>
<br>
> I think it would be good to note down the process wrt using this library.<br>
> I'm guessing that having this library will most certainly delay things wrt<br>
> development. Changes will need to be made to the library first, then need to<br>
> wait until a new version is released, then possibly update the min version<br>
> in global-requirements, then use (and profit) in ironic-related projects.<br>
><br>
><br>
> With the code in ironic, we were able to do things like change the arguments<br>
> to methods etc. With the library -- do we need to worry about backwards<br>
> compatibility?<br>
<br>
</span>I would say so, those are things that we have to take in account when<br>
creating a shared library. But it also brings benefits:<br>
<br>
1. Code sharing<br>
2. Bug are fixed in one place only<br>
3. Flexibility, I believe that more projects using the same code will<br>
require it to be more flexible<br>
<span class=""><br>
> How frequently were we thinking of releasing a new version? (Depends on<br>
> whether anything was changed there that is needed really soon?)<br>
<br>
</span>Yes, just like the python-ironicclient a release can be cut when needed.<br>
<br>
Thanks for starting this thread, it would be good to the community<br>
evaluate whether we should go forward with ironic-libs or not.<br>
<br>
Cheers,<br>
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>
</blockquote></div><br></div>