<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 23, 2015 at 8:49 AM, Ihar Hrachyshka <span dir="ltr"><<a href="mailto:ihrachys@redhat.com" target="_blank">ihrachys@redhat.com</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">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<div><div class="h5"><br>
On 02/20/2015 07:16 PM, Joshua Harlow wrote:<br>
> Sean Dague wrote:<br>
>> On 02/20/2015 12:26 AM, Adam Gandelman wrote:<br>
>>> Its more than just the naming.  In the original proposal,<br>
>>> requirements.txt is the compiled list of all pinned deps<br>
>>> (direct and transitive), while<br>
>>> <a href="http://requirements.in" target="_blank">requirements.in</a><<a href="http://requirements.in" target="_blank">http://requirements.in</a>>  reflects what people<br>
>>> will actually use.  Whatever is in requirements.txt affects the<br>
>>> egg's requires.txt. Instead, we can keep requirements.txt<br>
>>> unchanged and have it still be the canonical list of<br>
>>> dependencies, while<br>
>>> reqiurements.out/requirements.gate/requirements.whatever is an<br>
>>> upstream utility we produce and use to keep things sane on our<br>
>>> slaves.<br>
>>><br>
>>> Maybe all we need is:<br>
>>><br>
>>> * update the existing post-merge job on the requirements repo<br>
>>> to produce a requirements.txt (as it does now) as well the<br>
>>> compiled version.<br>
>>><br>
>>> * modify devstack in some way with a toggle to have it process<br>
>>> dependencies from the compiled version when necessary<br>
>>><br>
>>> I'm not sure how the second bit jives with the existing<br>
>>> devstack installation code, specifically with the libraries<br>
>>> from git-or-master but we can probably add something to warm<br>
>>> the system with dependencies from the compiled version prior to<br>
>>> calling pip/<a href="http://setup.py/etc" target="_blank">setup.py/etc</a> <<a href="http://setup.py/etc" target="_blank">http://setup.py/etc</a>><br>
>><br>
>> It sounds like you are suggesting we take the tool we use to<br>
>> ensure that all of OpenStack is installable together in a unified<br>
>> way, and change it's installation so that it doesn't do that any<br>
>> more.<br>
>><br>
>> Which I'm fine with.<br>
>><br>
>> But if we are doing that we should just whole hog give up on the<br>
>> idea that OpenStack can be run all together in a single<br>
>> environment, and just double down on the devstack venv work<br>
>> instead.<br>
><br>
> It'd be interesting to see what a distribution (canonical,<br>
> redhat...) would think about this movement. I know yahoo! has been<br>
> looking into it for similar reasons (but we are more flexibly then<br>
> I think a packager such as canonical/redhat/debian/... would/culd<br>
> be). With a move to venv's that seems like it would just offload<br>
> the work to find the set of dependencies that work together (in a<br>
> single-install) to packagers instead.<br>
><br>
> Is that ok/desired at this point?<br>
><br>
<br>
</div></div>Honestly, I failed to track all the different proposals. Just saying<br>
from packager perspective: we absolutely rely on requirements.txt not<br>
being a list of hardcoded values from pip freeze, but present us a<br>
reasonable freedom in choosing versions we want to run in packaged<br>
products.<br>
<br></blockquote><div><br></div><div>in short the current proposal for stable branches is:</div><div><br></div><div>keep requirements.txt as is, except maybe put some upper bounds on the requirements.</div><div><br></div><div>Add requirements.gate to specify the *exact* versions we are gating against (this would be a full list including all transitive dependencies).</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">
That's why I asked before we should have caps and not pins.<br>
<br>
/Ihar<br>
-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v1<br>
<br>
iQEcBAEBAgAGBQJU61oJAAoJEC5aWaUY1u57T7cIALySnlpLV0tjrsTH2gZxskH+<br>
zY+L6E/DukFNZsWxB2XSaOuVdVaP3Oj4eYCZ2iL8OoxLrBotiOYyRFH29f9vjNSX<br>
h++dErBr0SwIeUtcnEjbk9re6fNP6y5Hqhk1Ac+NSxwL75KlS3bgKnJAhLA08MVB<br>
5xkGRR7xl2cuYf9eylPlQaAy9rXPCyyRdxZs6mNjZ2vlY6hZx/w/Y7V28R/V4gO4<br>
qsvMg6Kv+3urDTRuJdEsV6HbN/cXr2+o543Unzq7gcPpDYXRFTLkpCRV2k8mnmA1<br>
pO9W10F1FCQZiBnLk0c6OypFz9rQmKxpwlNUN5MTMF15Et6DOxGBxMcfr7TpRaQ=<br>
=WHOH<br>
-----END PGP SIGNATURE-----<br>
<div class=""><div class="h5"><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>
</div></div></blockquote></div><br></div></div>