Commit Graph

39 Commits

Author SHA1 Message Date
Clark Boylan 9cfd5cca0a Fix test-matrix shebang for ansible 6
Ansible 6 interprets the shebang line to know what version of python to
run a module under. Unfortunately, this is at odds with using the
shebang line normally on a unix system to execte the module as a normal
script. Devstack-gate uses the test-matrix library in both ways as an
Ansible module and as a normal script. To reconcile the differences we
drop the shebang entirely to force Ansible to use a default
interpretation, and on the script side we force users to run the script
with the python they want explicitly.

This is not ideal, but there isn't a better way to reconcile the
difference in Ansible 6 expectations and using things as a normal
script.

Change-Id: I9a331d508276d9abe72c789fd91fc77a4136c5ca
2022-10-11 08:18:44 -07:00
Dr. Jens Harbott 0596760d94 Cap PyYAML to stay compatible with our code
It seems PyYAML==6.0 breaks the test-matrix code, let's just cap it.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: Id7bc0433315334657f78c0ee29bd100213479939
2021-10-14 09:30:19 +02:00
Elod Illes b5edf8508b Set up stable/wallaby
* update the feature list
* add wallaby to allowed stable branch names list

Change-Id: I92942eedaca9b5babeb0e664acd143038e974db1
2021-03-02 05:14:58 +01:00
Foundjem 2d240977d7 Set up stable/victoria
Change-Id: I5b1fc4e7ea3cae6792966e9b351ec8d358092683
Signed-off-by: Foundjem <foundjem@ieee.org>
2020-10-02 00:23:44 +00:00
Ian Wienand ba0dea73c3 Ansible 2.9 fixes; fix match filter and sudo flags
As of Ansible 2.9, using a jinja test as a filter fails; switch it to
"is" format.

The "--sudo" flag has become "--become", switch it.

Change-Id: If75cb934d386ab25240df9f21f9c948843bdb8fb
2020-06-17 05:57:31 +10:00
Zuul 4ecb62ca55 Merge "Convert testmatrix run to venv" 2020-05-06 01:41:22 +00:00
Elod Illes 184a23bb30 Set up stable/ussuri
* update the feature list
* add ussuri to allowed stable branch names list

Change-Id: Ia1de95b01da1007d6eef1f95cfba8fed15ffef2e
2020-04-16 23:46:00 +02:00
Ian Wienand b365a67c7e Convert testmatrix run to venv
As part of our efforts to ship bare nodes, we want to install as
little as possible in any sort of pre-run jobs.  Since all infra nodes
have python3 available, use venv to create this small environment for
the test matrix production, and avoid having to pull in any other
dependencies.

Change-Id: Ie8b09ab60841f9d1b15ae1a7afec51906cd89f95
2020-03-12 11:03:14 +11:00
Ian Wienand 7974a61f83 Fix virtualenv detection
This checks if the task failed; which it never does because of the
failed_when: false.  What we want to check is the return value of that
check.

Change-Id: Ic975b53d60f44e8e743bcc31fc864cc8416b3a92
2020-03-12 10:45:40 +11:00
Dr. Jens Harbott a9b0d5ddb1 Drop peakmem_tracker service
When devstack reverted the pip cap in [0], it was necessary to disable
the peakmem_tracker service as there was no easy way to make it work in
that setup. So we need to delete it from the test-matrix here, too.

We could decide to add it only for older stable/branches, but as ds-gate
is to be obsoleted anyway, I'm not convinced that that is worth the
effort.

[0] https://review.opendev.org/561597

Change-Id: I9dd57d3bdb56c64377efbdd55429bd075223c746
2020-01-22 13:31:41 +00:00
Lee Yarwood 988cc19138 nova: Enable n-cauth on stable/rocky for cells v1 jobs
Ia85ea5d338f07cb248f60de44b21826862d09d26 had enabled n-cauth again
correctly on branches prior to Rocky but missed that while deprecated it
is still required on stable/rocky for cells v1 jobs:

https://docs.openstack.org/nova/rocky/configuration/config.html#workarounds.enable_consoleauth

Change-Id: I74fd0ba8d2fb1ed25210576fabe957167dc6ca90
2020-01-11 16:12:05 +00:00
Lee Yarwood 1b5f905c13 nova: Renable n-net on stable/rocky|queens|pike|ocata
Following on from Ia85ea5d338f07cb248f60de44b21826862d09d26 n-net also
needs to be renabled on these older branches to allow cellsv1 testing.

Change-Id: I300a93142355517382c8ba55105ac7c1e88f29c8
2020-01-10 13:47:11 +00:00
Ghanshyam Mann cdb438afb0 Re-enable the n-cauth required service for stable/queens|pike|ocata
n-cauth serviec has been remvoed from nvoa in Ussuri and that is why
it was removed from default services[1]. But that is requried
for stable/queens|pike|ocata which still depends on text-matrix
for ENABLED_SERVICES. Since stable/rocky we have migrated the
service enable in devstack base job[2].

This commit fix the Tempest master and stable/queens|pike|ocata
gate by re-enable the n-cauth service for listed stable branches
only. Later we can discuss to remove the test-matrix dependency for
these branches also.

Related-Bug: 1858666
[1] https://review.opendev.org/#/c/700217/
[2] https://review.opendev.org/#/c/546765/

Change-Id: Ia85ea5d338f07cb248f60de44b21826862d09d26
2020-01-07 17:07:01 +00:00
Matt Riedemann 183a58eab1 Add a feature support matrix test for grenade subnode
test-features.sh wasn't testing anything for subnodes
so this adds a subnode feature support matrix test for
grenade. It also highlights that the grenade config
is applied to all nodes regardless of role so a TODO
is added to test_matrix.py in case someone needs to make
that per-role, per-config service override support at
some point (hopefully that never really happens and all
jobs are moved to zuulv3 by that point).

Change-Id: I485d76c1db5c3a4363c3e26fea204cc7782887f3
2019-12-20 15:38:13 -05:00
Matt Riedemann cab3fb81ab Disable c-bak and etcd3 in grenade jobs
Grenade only runs tempest smoke tests and there are no
cinder-backup service related smoke tests in the main
tempest repo so running the c-bak service on the primary
and subnode (in multinode jobs) is just a waste of resources
since it's not used in testing.

Similarly, etcd3 is really only interesting for cinder in
a multinode job but in grenade multinode jobs etcd3 is not
enabled on the subnode, so only the primary node cinder
services are configured to use etcd3, so again it's a waste
of resources.

There is a theory that bug 1844929 is failing primarily on
OVH nodes because they aggressively restrict iops so we're
running into swap issues [1]. Freeing up more resources on
the nodes used in grenade jobs might alleviate some of that
swap pressure.

To do this using the feature test matrix in devstack-gate
the test_matrix.py script has to be updated such that
services can be added/removed per config rather than per
feature because otherwise grenade says it wants cinder but
cannot remove cinder-specific services like c-bak.

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-November/010506.html

Change-Id: Ide146793053ae6b62f93a5af45c6130a21514e87
Related-Bug: #1844929
2019-12-20 15:27:17 -05:00
Matt Riedemann 3e2df9e972 Add more logging to test_matrix.py
This is just to help with figuring out what's going on in
test_matrix.py when it runs.

Change-Id: I8c81cdc44c62719fea5becfb81f6bab17cbe658e
2019-12-20 15:27:17 -05:00
Matt Riedemann 2cd8f2907f Add --verbose option to test_matrix.py
This allows getting the debug logging out of test_matrix.py
from the command line which is useful when you're trying to
debug what is wrong with entries in the feature test matrix.

Change-Id: I49aa3d7b60f4df4f32a0a3dbef9b13a97404dbf4
2019-12-20 15:27:11 -05:00
Matt Riedemann f0008986a1 Remove 'cinder' service from feature test matrix
The cinder config is including the "cinder" devstack
service which would mean that anything removed explicitly,
like c-bak, is going to be trumped by the fact that 'cinder'
is in the enabled services list in a job.

This removes 'cinder' the service from cinder the config so
that cinder services have to be explicitly enabled/disabled
in the feature test matrix.

Change-Id: I857fbeba2af4a0f038fd2c2a19bb29c2767227a2
2019-12-20 14:55:32 -05:00
Matt Riedemann 2767c8690d Modernize default services in the test matrix
Ceilometer is not installed by default in legacy jobs using
devstack-gate so we shouldn't be enabling it by default. Anything
that cares about testing with ceilometer should be using a zuulv3
based job with the ceilometer devstack plugin and explicitly
enabling the service. So ceilometer is removed from the default
list of enabled services.

This also removes some now-dead nova services (n-obj, ha).

Change-Id: If8237c94be2b1db210f83bc9871792af9c5c868f
2019-12-20 14:31:57 -05:00
Jean-Philippe Evrard 269a20d09c Prepare for stable branching in devstack-gate
This ensures the legacy devstack-gate can be used for train.

Change-Id: Id89df61fe53437a2d21354a46dc92e4654d03bc1
2019-09-02 11:07:48 +02:00
ghanshyam 1b04cd2c0b Add the setup support for stable/stein
We are in Stein-3 milestone week[1] and as per
the release process[2], this commit adds the setup
fo stable/stein.

[1] https://releases.openstack.org/stein/schedule.html#s-3
[2] https://releases.openstack.org/reference/process.html#final-library-release-week-before-milestone-3

Change-Id: I6eff057878b30d5fc77e74ebde4bda0f4c7e603c
2019-03-03 15:09:59 +00:00
Boden R d2bd6faf5e add rocky branch to features.yaml
This patch adds the rocky branch to features.yaml so that rocky branch
patches can land, for example [1] that currently fails with:
ERROR: branch not allowed by features matrix: rocky

[1] https://review.openstack.org/#/c/584078/

Change-Id: I235c6c3ad81dff916a65cf8b97152621812fa102
2018-07-19 14:31:13 -06:00
David Moreau Simard 571be25290
Return a proper boolean True instead of a 'True' string
The type here is important, returning anything other than a boolean
has unintended consequences such as breaking Ansible callbacks because
they are expecting the "changed" field to be nothing other than a bool
by contract.

Change-Id: Ia9b4a749f64adae8969fd9ad66304d013013e056
2018-02-19 23:26:58 -05:00
Ian Wienand 89bfc2a9fb Check for virtualenv binary
The current check looks for a virtualenv package; but this isn't
portable to other platforms.  In the gate we also have installed from
upstream (to ensure latest) and the package might be on hold, etc
which might mess up the detection.

I think the KISS thing to do is to check for virtualenv and fail with
a useful message.

Change-Id: Icf15ddd18ca52885f5c4a89a7d83622a70c811d5
2018-02-06 08:09:22 +11:00
Sean McGinnis 9c97cc690c Set up stable/queens
Change-Id: I505bb7f7d226845e96a815a34a548ceacee65517
2018-01-19 10:58:13 -06:00
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
James E. Blair f6a1459622 Remove v3 devstack job
In preparation for moving to the devstack repo.

Change-Id: Ie2119f24360d56690ffd772b95a9ea6b98dd4a39
2017-10-14 08:35:42 -07:00
Jenkins e8943cfee7 Merge "Zuul v3: export devstack journal" 2017-09-22 23:02:52 +00:00
James E. Blair 93c642c804 Zuul v3: export devstack journal
Change-Id: I2d9b25f12de09a99f140cdb7cb7ec3f23fef0a34
2017-09-22 11:51:06 -07:00
Andrea Frittoli 90aede8794 Create stack home folder
The create stack user role creates the home for the stack user,
which works as long as the containing folder already exists.
Since this may not always be the case, create the folder first.

Change-Id: Ibe3539a738340d6e4d95e3661bca5e2067e3e959
2017-09-22 17:50:15 +01:00
Ian Wienand 96978baec5 Zuulv3: Ansiblise ephemeral/swap setup
Move the "fix_disk_layout" role from a big shell script to ansible
steps for the native v3 devstack job.

This change is based on Icd4e6d8ab84471ad06e69c3e0f9bac92776efc78.

(Requires Ansible 2.3 for the parted module)

Change-Id: Ia6dcb13803a549390cad736849a26c92494a914c
Depends-On: I2a59e22a38918ae45e0518b0af85ad6e8bc9423c
2017-09-14 13:44:17 -06:00
James E. Blair d8b44c78ab Zuul v3: run devstack
Add a role to run devstack, and add it to the main devstack playbook
for the next-gen devstack job.

Change-Id: If84d764e9b2f8dbb6beb1990abc11cbb9f1156b0
2017-09-08 09:49:31 -07:00
James E. Blair bd612be0b6 Zuul v3: Add devstack_local_conf ansible module
This writes the contents of a variable dictionary as a devstack
localrc file.  It sorts the output so that references to other
variables may be resolved.

Change-Id: Ib9716317333aecffca627f5a38a95d86fc4b320b
2017-09-07 12:46:07 -07:00
James E. Blair 2ffabdbbff Zuul v3: create stack and tempest users
Note, the stack user home directory is different than current, however,
these roles are now diverging from the legacy roles.  This matches
the current default devstack behavior.

Change-Id: I9a19579dd159dff38750afa3a0f9c642f2056408
2017-09-07 12:44:14 -07:00
James E. Blair 8551487bd6 Zuul v3: add a devstack-legacy job
This job attempts to run devstack as close as possible to the manner
in Zuul v2.

Also, don't write the devstack-local conf file if no variables were
supplied.

Change-Id: I308504bf5a48652c62d4d05572c5c077a7dfe368
2017-09-01 11:21:21 -07:00
James E. Blair 79093c811b Zuul v3: add start-fresh logging role
This is a near-copy of the role currently used.

Change-Id: I0ea0dba0060d3c5cfc849ba7ffcbddee6363730c
2017-08-23 16:22:17 -07:00
James E. Blair e9a8810651 Zuul v3: add roles related to log dirs
Create a log dir on each node and fetch its contents at the end
of the job.

Change-Id: I671c5b82eaa8f3fad475b0d615a6f9daf47b6fc3
2017-08-23 08:35:18 -07:00
James E. Blair a33308eb3b Zuul v3: add role to set up base dir
Change-Id: I825b6fda85997d59dc136280f03e7497eb7b3c2e
2017-08-22 16:38:14 -07:00
James E. Blair 2938caf24e Zuul v3: move local.conf writing to a role
This is likely to become more complex in the future, go ahead and
compartmentalize it in a role.

Change-Id: I14bd0da1243ed3cf5ab5d639a71aa9b11ec7bb11
2017-08-22 13:50:17 -07:00