[openstack-dev] [Infra] Cross-repository testing

Jeremy Stanley fungi at yuggoth.org
Thu Mar 24 13:50:53 UTC 2016

On 2016-03-24 11:44:16 +0100 (+0100), Sylwester Brzeczkowski wrote:
> We want to enable proper testing for Nailgun (fuel-web) extensions. We want
> to implement a script which will clone all required repos for test and
> actually run the tests.
> The script will be placed in openstack/fuel-web [0] repo and should work
> locally and also on openstack CI (gate jobs). All Nailgun Extensions should
> have Nailgun in it's requirements so I think it's ok.
> What do you think about the idea? Is it a good approach?
> Am I missing some already existing solutions for this problem?

This is basically what devstack-gate does for testing OpenStack
deployments with DevStack. The logic for getting change dependencies
right is far more complex than simply cloning a bunch of
repositories. You need to make sure you try to fetch appropriate Zuul
refs for all of them when available, fallback to sane branch
selections when not all of the repos have the same branches, make
use of repo caches for improved performance and update them to
current state from our remote mirror, et cetera.

Zuul includes a standalone command-line tool which also performs
these operations, and we make it available on all our job workers at
/usr/zuul-env/bin/zuul-cloner. Check job macros in the
project-config directory for numerous examples of creating clonemaps
and invoking zuul-cloner in jobs.
Jeremy Stanley

More information about the OpenStack-dev mailing list