[openstack-dev] [all][infra][requirements] Odd cases in requirements?

Tony Breeds tony at bakeyournoodle.com
Mon Sep 5 05:45:11 UTC 2016


On Sat, Sep 03, 2016 at 07:33:42PM +0200, Andreas Jaeger wrote:
> Reviewing all the constraints work, I see that repositories have created
> some workaround around requirements install for one of these two legimit
> reasons - most often using tools/tox_install.sh from tox.ini for it:
> 
> 1) The repository is a dependency of another one and uses constraints,
> so edit upper-constraints file and allow git install.
> 
> Example:
> http://git.openstack.org/cgit/openstack/ironic-lib/tree/tools/tox_install.sh
> 
> 2) Install a package that is not on pypi. This is typical neutron or
> horizon.
> 
> Example:
> http://git.openstack.org/cgit/openstack/neutron-lbaas/tree/tools/tox_install.sh
> 
> Note there's a third usage as well: Install packages that are not in
> global-requirements but let's leave that use case out of this discussion.
> 
> For 2, Robert Collins has started in
> https://review.openstack.org/#/c/252680 a way to check out the required
> repos - but that change is incomplete and looks orphaned.
> 
> Instead of several projects copying and adopting these files - and thus
> having them in various state in repositories - what can we do to make it
> easier for developer and projects to address these two problems?

Hi Andreas,
    Thanks for bringing this up, it's been on my radar for a while but I haven't
made much forward progress apart from a few quick conversations.

Fixing the first item you point out need to be done in pip, and as always there
is a balance between doing it fast and doing it right.  The requirements team
has this item on it's todo list for Ocata.  In the meantime we could look at
simplifying the scripts in use if that's of any benefit.

The second item has always confused me slightly.  I'm not sure why projects
that need horizon/neutron have a tox_install script, can't they just add
something like:

"-e git://git.openstack.org/openstack/neutron@master#egg=neutron"
or
"http://tarballs.openstack.org/horizon/horizon-master.tar.gz#egg=horizon"

in test-requirements.txt ?  Actually I see from [1] that quite a few horizon
plugins are doing just that.  I wonder if that'd work better for neutron?

Yours Tony.

[1] http://codesearch.openstack.org/?q=horizon-master.tar.gz&i=nope&files=test-requirements.txt&repos=
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160905/f9b8f4a9/attachment.pgp>


More information about the OpenStack-dev mailing list