<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 29, 2015 at 9:52 AM, Sean Dague <span dir="ltr"><<a href="mailto:sean@dague.net" target="_blank">sean@dague.net</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">So, honestly, yes.<br>
<br>
For a library to release safely it must:<br>
<br>
* have stable-compat jobs running (this was the issue with barbican client)<br>
* if it has a stable/juno branch it must be pinned in stable/juno (this<br>
was the issue on most of the oslo libs)<br></blockquote><div><br></div><div>We use the clients for two very different things.</div><div><br></div><div>1. As a python library to communicate between services</div><div>2. A command line tool that can talk to all supported versions of our APIs (stable/icehouse, stable/juno and master).</div><div><br></div><div>With our current testing setup, we try using the latest release on stable branches for both 1. and 2.  That means clients need overlapping dependencies with the stable branches.   I don't think this is a reasonable requirement, and am not sure what we gain from it.</div><div><br></div><div>Instead I propose we pin the client version for 1 and use the latest release for 2.  We should be able to do this easily by putting all command line tools inside of venvs using pipsi[0]. This way we continue to test the clients API compatibility with stable branches without requiring dependency compatibility (I roped Dean Troyer into working on this at the nova mid cycle).</div><div><br></div><div>Once this is done, we should be able to go ahead and pin all explicit dependencies on stable branches [1].</div><div><br></div><div>[0] <a href="https://pypi.python.org/pypi/pipsi/0.8">https://pypi.python.org/pypi/pipsi/0.8</a></div><div>[1] <a href="https://review.openstack.org/#/c/147451/">https://review.openstack.org/#/c/147451/</a></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">
<br>
        -Sean<br>
<span class=""><br>
On 01/29/2015 12:07 PM, Kyle Mestery wrote:<br>
> Maybe we should defer all client releases until we know for sure if each<br>
> of them are ticking timebombs.<br>
><br>
> On Thu, Jan 29, 2015 at 11:00 AM, Morgan Fainberg<br>
</span><span class="">> <<a href="mailto:morgan.fainberg@gmail.com">morgan.fainberg@gmail.com</a> <mailto:<a href="mailto:morgan.fainberg@gmail.com">morgan.fainberg@gmail.com</a>>> wrote:<br>
><br>
>     Good question! I was planning a keystone liens release very soon,<br>
>     but will hold off of it will break everything.<br>
><br>
>     --Morgan<br>
><br>
><br>
>     On Thursday, January 29, 2015, Thierry Carrez <<a href="mailto:thierry@openstack.org">thierry@openstack.org</a><br>
</span><div><div class="h5">>     <mailto:<a href="mailto:thierry@openstack.org">thierry@openstack.org</a>>> wrote:<br>
><br>
>         Sean Dague wrote:<br>
>         > On 01/27/2015 05:21 PM, Sean Dague wrote:<br>
>         >> On 01/27/2015 03:55 PM, Douglas Mendizabal wrote:<br>
>         >>> Hi openstack-dev,<br>
>         >>><br>
>         >>> The barbican team would like to announce the release of<br>
>         >>> python-barbicanclient 3.0.2.  This is a minor release that<br>
>         fixes a bug<br>
>         >>> in the pbr versioning that was preventing the client from<br>
>         working correctly.<br>
>         >>><br>
>         >>> The release is available on PyPI<br>
>         >>><br>
>         >>> <a href="https://pypi.python.org/pypi/python-barbicanclient/3.0.2" target="_blank">https://pypi.python.org/pypi/python-barbicanclient/3.0.2</a><br>
>         >><br>
>         >> Which just broke everything, because it creates incompatible<br>
>         >> requirements in stable/juno with cinder. :(<br>
>         ><br>
>         > Here is the footnote -<br>
>         ><br>
>         <a href="http://logs.openstack.org/18/150618/1/check/check-grenade-dsvm/c727602/logs/grenade.sh.txt.gz#_2015-01-28_00_04_54_429" target="_blank">http://logs.openstack.org/18/150618/1/check/check-grenade-dsvm/c727602/logs/grenade.sh.txt.gz#_2015-01-28_00_04_54_429</a><br>
><br>
>         This seems to have been caused by this requirements sync:<br>
><br>
>         <a href="http://git.openstack.org/cgit/openstack/python-barbicanclient/commit/requirements.txt?id=054d81fb63053c3ce5f1c87736f832750f6311b3" target="_blank">http://git.openstack.org/cgit/openstack/python-barbicanclient/commit/requirements.txt?id=054d81fb63053c3ce5f1c87736f832750f6311b3</a><br>
><br>
>         but then the same requirements sync happened in all other clients:<br>
><br>
>         <a href="http://git.openstack.org/cgit/openstack/python-novaclient/commit/requirements.txt?id=17367002609f011710014aef12a898e9f16db81c" target="_blank">http://git.openstack.org/cgit/openstack/python-novaclient/commit/requirements.txt?id=17367002609f011710014aef12a898e9f16db81c</a><br>
><br>
>         Does that mean that all the clients are time bombs that will break<br>
>         stable/juno when their next release is tagged ?<br>
><br>
>         --<br>
>         Thierry Carrez (ttx)<br>
><br>
><br>
>     __________________________________________________________________________<br>
>     OpenStack Development Mailing List (not for usage questions)<br>
>     Unsubscribe:<br>
>     <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
</div></div>>     <<a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>><br>
>     <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<span class="im">><br>
><br>
><br>
><br>
> __________________________________________________________________________<br>
> OpenStack Development Mailing List (not for usage questions)<br>
> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
<br>
<br>
</span><div class=""><div class="h5">--<br>
Sean Dague<br>
<a href="http://dague.net" target="_blank">http://dague.net</a><br>
<br>
</div></div><br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div>