[openstack-dev] [requirements][stable] EOL tags and upper-constraints.txt in tox.ini

Doug Hellmann doug at doughellmann.com
Wed Sep 20 22:08:22 UTC 2017


Excerpts from Tony Breeds's message of 2017-09-20 17:18:51 -0400:
> On Wed, Sep 20, 2017 at 04:51:21PM -0400, Doug Hellmann wrote:
> > Excerpts from Jeremy Stanley's message of 2017-09-20 18:59:50 +0000:
> > > On 2017-09-20 14:46:32 -0400 (-0400), Tony Breeds wrote:
> > > [...]
> > > > I'd like to find a solution that doesn't need a tox_install.sh
> > > [...]
> > > 
> > > This wart came up when discussing Zuul v3 job translations... what
> > > would be ideal is if someone has the bandwidth to work upstream in
> > > tox to add a constraints file option agreeable to its maintainer so
> > > that we don't have to override install-command to add it in all our
> > > configs.
> > 
> > One of the reasons we need a script is to modify the constraint list to
> > remove the current library from the list if it is present. I'm not sure
> > that special logic would be something the tox maintainers would want.
> 
> My proposal is that if 'constraints' is enabled then it's only used for
> the deps install.  Since that should get everything that $project needs
> if it's omitted during that phase it wont hurt us *and* removes the
> needs for that aspect of the tox_install.sh
> 
> In my head it looks like:
> ---
> [testenv]
> usedevelop = True
> # constraints = {env:UPPER_CONSTRAINTS_FILE:https://tarballs.openstack.org/constraints/master.txt}
> constraints = {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
> install_command = pip install {constraints} {opts} {packages}
> deps = -r{toxinidir}/requirements.txt
>        -r{toxinidir}/test-requirements.txt
> ---
> 
> It wont remove tox_install.sh but it will reduce the number of projects
> that needs it.  For example oslso.* and os-* shouldn't need a
> tox_install.sh it we can make the above happen.
> 
> 
> Yours Tony.

I like the idea. I'm not sure why, if the constraints file is only used
for the dependency installation step, we still need tox_install.sh? If
that's just to avoid updating the URL when we create branches, I can
live with continuing to do that step if we figure out some other way to
minimize the open race window.

Doug



More information about the OpenStack-dev mailing list