Commit Graph

11 Commits

Author SHA1 Message Date
Andrea Frittoli (andreaf) 3d0fc8bf6d Create a test matrix role
Modify test-matrix.py so that is can be used as an ansible module.
Add a role in d-g that runs test matrix for the given branch,
role and features file.

Change-Id: Ie36ba0cd7cfcd450b75000a76a64d856f2a83eba
2017-12-06 11:27:41 +00:00
Sean M. Collins 7fac6b6838 Introduce roles into the feature matrix
test-matrix.py has a new cli option, for which role the node will play.
If it is a subnode, the starting set of services will be emitted,
that matches the current logic.

Logic regarding flags like DEVSTACK_GATE_NEUTRON,
DEVSTACK_GATE_NEUTRON_DVR, DEVSTACK_GATE_IRONIC is now moved to the
feature matrix.

Co-Authored-By: Julia Varlamova <jvarlamova@mirantis.com>
Co-Authored-By: Michal Dulko <michal.dulko@intel.com>

Change-Id: Ief1b74cbc01235d9f52d08add930781f3a0ae71b
2016-12-16 06:26:21 -05:00
Eyal bd3ca1f091 support py3
Change-Id: Ied6e8c9bb44557677041854c6974929d7383a484
2016-04-12 15:33:54 +03:00
Doug Hellmann cf0cb2f98d Treat bug/ and feature/ branches the same way
Add support for bug/ branches for projects that use intermediate
releases to support the case where a change has landed in master and a
bug fix is needed, but the branch to be created should not be seen as a
long term stable release series. For example, if a breaking change is
made in a library in anticipation of a major series version update, but
then a critical bug is found in the previous intermediate release. The
fix could be back-ported and released into the master stream without the
breaking change.

Change-Id: Ic790600c4c058817e32422f7c7d1be7fdbf98994
2015-06-25 20:00:09 +00:00
Cody A.W. Somerville 31ec62bf50 Improved error message for when branch not whitelisted in features yaml
Change-Id: I587cd38ad2207291c984b357b4a27128014d509c
2014-10-22 19:03:09 -04:00
Maru Newby 2ac355640a Add features.yaml entry for 'no services'
Previously service selection was only additive on top of the default
set of services for a given branch.  In order to support more
efficient functional job definitions, this change adds the option
of setting DEVSTACK_GATE_NO_SERVICES to ensure that the default
set is minimal (mysql, rabbit, dstat at the time of this patch).

Change-Id: Ie20f611b5c5debe96df1001df5d19eb24b93c519
2014-08-26 15:37:04 +02:00
Clark Boylan c6c0a7b253 Allow for grenade upgrades within a release
We need to be able to use grenade to upgrade services within a release
instead of upgrading services across releases. This will allow us to
test the nova baremetal to ironic upgrade path and the nova network to
neutron upgrade path.

To do this refactor the DEVSTACK_GATE_GRENADE* variables. Condense them
down to a single DEVSTACK_GATE_GRENADE variable that has more than just
0 and 1 binary states. This variable will state which type of grenade
test to do and handle that within devstack gate.

This change is backward and forward compatible for
DEVSTACK_GATE_GRENADE=1 and DEVSTACK_GATE_GRENADE_PARTIAL_NCPU=1 in
order to get this change through the gate without manual merging.

Change-Id: I4f102e27b422a5260cd0d5e40e00a5addf87911a
2014-08-15 14:39:14 -07:00
Clark Boylan a17aeb699a Handle proposed/ branches in test-matrix.py
We are now cutting proposed/* branches on projects. Test matrix needs to
know about them. Test proposed/foo* as if it were a stable/foo branch
when we know what foo is. If we do not know about foo fallback onto
testing with a master setup as this branch is an intermediate non
integrated release (eg swift proposed/2.0.0) which is released while
other projects are still developing on master.

As part of this change update features.yaml to teach it about juno in
prep for the upcoming juno release.

Change-Id: I3f72d3171d0a1afc00298b1761c06b77bb282a6b
2014-07-03 09:38:20 -07:00
andrea-frittoli d25f9ab414 Support for alternate trunk name (not master)
Commit 537a292674 introduced support
for having trunk named something other than master.

The name "master" is still hardcoded in the test-matrix, and in
the list of allowed branches. Adding support for an arbitrary
features file via DEVSTACK_GATE_FEATURE_MATRIX env variable.

The list of allowed branches is now parsed from the feature matrix.

Change-Id: Ic07c958e1630f7e62d9ff35b0add40a5d2b1548b
2014-06-19 11:52:29 +01:00
Clark Boylan 4b7d6a1598 Handle feature branches in test-matrix.py
test-matrix.py previously treated feature branches as invalid branches.
For testing purposes they are equivalent to master so s/feature*/master/
and build the services list that way.

Change-Id: Ia40ae64ae6907691cc061c41dc6fe56c646918cc
2014-04-18 11:58:45 -07:00
Sean Dague ccc4324855 feature matrix definition in yaml
This adds a definition mechanism for the d-g feature matrix in
yaml, a python tool to process that into an ENABLED_SERVICES list
and a test script to verify that it works as expected.

The theory here is that we create configs (which match to d-g
DEVSTACK_GATE_ vars) that enable or disable "features". The
features then enable or disable "services" (and eventually
extensions).

An important part of this is the ability to rm-* content. That
means the neutron feature can rm-services: n-net. The hope is
this makes reviewing changes more straight forward, and also
makes it so if something goes wrong we don't run a job missing
services, because we don't need to make sure we add things in
the else clauses.

A follow up patch integrates this into d-g proper, but this
patch seemed easier to review on it's own.

Change-Id: Ib030f820073dd0b450b362fd721f9477778c04b0
2014-04-16 07:54:29 -04:00