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

Ihar Hrachyshka ihrachys at redhat.com
Mon Sep 5 10:40:07 UTC 2016


Andreas Jaeger <aj at suse.com> wrote:

> On 09/05/2016 07:45 AM, Tony Breeds wrote:
>> 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.
>
> Glad to hear!
>
>> 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=
>
> Indeed, these work in general - but not with Depends-On, so if you want
> to test a proposed change in horizon together with a change in say
> mistral-ui.
>
> Not sure how much that is a problem for horizon or neutron,

We use Depends-On quite actively to coordinate proper order of landing  
patches in 5 repos we currently maintain as neutron core, plus a vast  
number of drivers/plugins we have in stadium and outside of it. Not having  
the tool would be a bummer for the way neutron team does development.

Ihar



More information about the OpenStack-dev mailing list