On 9 June 2015 at 04:19, Doug Wiegley <doug...@parksidesoftware.com> wrote:
>
>> On Jun 8, 2015, at 9:58 AM, Jeremy Stanley <fu...@yuggoth.org> wrote:
>>
>> On 2015-06-08 13:29:50 +1200 (+1200), Robert Collins wrote:
>> [...]
>>> However, we are going to move from test-requirements.txt to setup.cfg
>>> eventually, but thats a separate transition - and one could still use
>>> test-requirements.txt there to provide git references.
>>
>> Except please don't. If you put a git requirement entry in that file
>> for neutron, every CI job which uses that test-requirements.txt will
>> reclone all of neutron over the network from scratch because pip
>> isn't smart enough to do otherwise unless you take additional
>> measures to preinstall that requirement in the environment where the
>> test is run. That's why we use tools like devstack-gate or
>> zuul-cloner which know how to check for cached repos and update them to
>> the ref that you've (or that zuul has) requested.
>
> The neutron-*aas repos were among the worst offenders in the ‘ninja cloning’ 
> racket, and in addition to working against the CI infrastructure, it bit us 
> by testing master instead of the review patches in some cases. Note that we 
> were grabbing neutron at master and tempest at a pinned commit. And since we 
> use the same tox env’s for devs and CI, there are slightly different 
> requirements depending on which is in use.

tempest-lib or tempest? tempest-lib cuts releases and should AIUI be
consumed via those: if you need something thats not in the latest
release, ask that it be released.

> What I am attempting to do, and I’m open to feedback on ‘best practices’:
>
> - pep8/unit tests - override ‘install_program’ in tox, to be an in-repo 
> script that detects if you’re inside jenkins or not, and then uses either 
> zuul-cloner or pulls in neutron via a git url, respectively, then calls ‘pip 
> install’ as usual for the rest.

So, we're going to be adding in this thing for constraints over this
cycle (https://review.openstack.org/#/c/186635/) and it will also be
gluing into tox in that sort of way. Since you can specify a git url
and reference there, I wonder if editing the constraints file
just-in-time to add e.g. a neutron reference, will be useful. Or yeah
zuul-cloner. We'll need to make sure these things play nice together.

> - tempest api tests - pulled in-tree the subset of tempest that we’re using 
> and which is not yet in tempest-lib, with an eye to migrating it away. This 
> part could’ve also been done via zuul-cloner at a specific commit.

I'd get the stuff into tempest-lib ASAP rather than re-arranging the
way this is done IMO.

> - We do *not* put ‘neutron’ into any requirements file, and I wasn’t planning 
> to, until such time as neutron, or neutron-lib, is stable and published to 
> pypi.

Without neutron there, there is no signal to packagers, deployers, or
pip that neutron is needed. I think thats just bugs waiting to happen.

-Rob

-- 
Robert Collins <rbtcoll...@hp.com>
Distinguished Technologist
HP Converged Cloud

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to