Commit Graph

35 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 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
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 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
Ian Wienand 0f3e44d726 Fix bashate "local hides exit status" warnings
Promote "local hides exit status" (E042) to error and fix issues found
(this is inline with what we do in devstack).

Change-Id: Idd784af066db80bb67792da3dd0aa0ae4c8475db
2018-03-26 09:46:56 +02: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
Matthew Treinish fdce8e71d5
Make sure we always run the nova metadata service
In the past we had gate configs where we didn't run the metadata service
because it wasn't as reliable as a config drive and it just wasted
memory. However, that isn't the case today, and almost all the jobs use
the metadata service. The exception here being ironic jobs, but running
the metadata service won't break things, it just will go unused. To
simplify the config and make the metadata api service config consistent
with the other nova services this commit makes sure that we are always
enabling the service in devstack.

Change-Id: I8ff08d61520ccf04e32dcd02f4cecc39dae823cb
2017-06-28 15:37:08 -04:00
Clark Boylan e1b6e9f1d6 Disable horizon by default
The vast majority of jobs that d-g runs do not actually use or test
Horizon. Save job runtime by disabling Horizon by default which cuts
down on setup time. The depends on of this change explicitly enable's
Horizon in its integration job.

Change-Id: Ic9851f9e6fb3892c29ead1c64a77095e58d89630
Depends-On: Ib3fdab05bfa5f91678051db5643a976174f4797e
2017-06-14 09:41:31 -07:00
Davanum Srinivas 7ecf87d63f Add etcd3 to the list of base services
DevStack now has support for etcd3, let's turn it on for
all the jobs. Some more context in:
Ibbb430fb1dbf66942168e0cb52d990ab6a2eb8d7

Change-Id: I9b0209f7f327229ada9c5b677c5efbd57c9f759e
2017-05-24 13:03:02 -04:00
Jordan Pittier 164821e209 Don't run nova-cert by default
Devstack doesn't enable n-crt by default and n-crt seems unused at all
[1] in a typical dsvm job. So we should not even start it to save
some memory.

[1]: http://logs.openstack.org/98/439698/3/check/gate-tempest-dsvm-neutron-full-ubuntu-xenial/32427bc/logs/screen-n-crt.txt.gz

Change-Id: I2e820275debde20fd6a82d596b8e0409478514e9
2017-03-17 13:39:09 +01:00
Ihar Hrachyshka 57b3b89129 Enable peakmem_tracker in gate
We experience unexplained behaviour lately in some gate jobs where
oom-killer is triggered while swap is not used. We suspect that it may
be because some process mlocked some pages in RAM. This service should
hopefully help us to understand if that's the case.

Change-Id: Ia5bbc3d5dc405af0417624b92816269775809e1a
2017-02-22 12:21:58 +00:00
Ihar Hrachyshka 72cc599a97 Cleaned up 'quantum' service logic
There is no such service (as a separate entity) in devstack since at
least kilo (probably even earlier). Instead, neutron services are
controlled separately by q-* (legacy) or neutron-* (new devstack library
module).

Change-Id: I69a8866315acce1d192738873939d82bf397b918
2017-02-22 07:26:50 +00:00
Sean Dague c1b64743b8 enable placement api by default for ocata and beyond
Make placement API the default in ocata and later.

Depends-On: I04a655fbc58913b3d607400a7f677be299499142

Change-Id: Ibd760c642e3c1ffff2dd61be48e30530b0d24720
2016-12-16 06:29:01 -05:00
Michelle Mandel f283a62020 Enable n-novnc service
The service n-novnc is not enabled by default.  This will enable it,
allowing tests associated with NoVNC to be executed. This also
specifies to install noVNC from packages instead of git cloning it
for gate jobs.

Change-Id: I09aed8de28f1ba2637382e870134ced38808df29
2016-11-17 11:46:36 -05:00
Sean Dague 98a8b3f5ef remove old tests
remove tests for feature grid for releases that are eol.

Change-Id: Iab92aa60d4d417fa04d2c97f5764f637cab88732
2016-08-25 15:52:35 -04:00
Sean Dague f7e3f3bfa8 don't start horizon in grenade
horizon is not really tested in grenade, so it's extra effort for no
real validation. We should not do this by default as it will shorten
the job length.

Depends-On: I2cb3c75bdd738a8e19796456f0aed14237ef755e
(enables horizon to be conditionally upgraded only if it exists)

Change-Id: Ifcf4dad0366a2763bb311f77ab63de1e5b3fafe7
2016-08-25 15:44:38 -04:00
Doug Wiegley cb2b8092de Remove q-lbaas from tempest pre-installed stuff.
LBaaS tests are no longer in tempest.

Change-Id: I59d9e3ac756a91936f598b683bc3da4dc6ba9ba0
2016-08-22 20:28:25 -05:00
Sean M. Collins 40c2ba7e63 Stop using DevStack fwaas code
We should transition to the DevStack fwaas plugin, similar
to what was done in c59dfacef8

Change-Id: Iadcee07e873fcb4f099ebccc2e33780e74438140
Related-Change: If6c6e032689392fecc8c24517666128c8c103a7b
Related-Change: Ic60cd1fa90c19dfac00be583e2ddc5633dbb68a3
2016-06-06 14:27:30 +00:00
Matt Riedemann 626faaee06 Add q-vpn back to base services but exclude for liberty runs
Commit c59dfacef8 removed the q-vpn
service from being enabled in all neutron runs which is OK for liberty
since that project has it's own devstack plugin and job configs for
master, but it breaks stable/kilo.

So add the q-vpn service back in for kilo.

Related-Bug: #1473475

Change-Id: I69ea5b194fec520e1aa31eb0554cf83c447a5e18
2015-08-13 08:34:14 -07:00
Paul Michali c59dfacef8 Remove q-vpn service for DSVM tests
There is a DevStack plugin for the neutron-vpnaas repo now, that
enables the q-vpn service. The repo has DSVM based (functional)
tests that use the new plugin and exercise the service.

We now want to remove q-vpn setup from the DevStack repo, and to
rely on the new plugin. To do that, however, we need to make sure
that DSVM tests (other than those in the neutron-vpnaas repo) do
not enable q-vpn, as it will not be set up during stacking (and
q-l3 will not be properly set up if q-vpn is enabled).

This patch, along with I3a4d7ecb25668eb499677d05bdb68b919592e53d
are attempting to remove q-vpn from the list of enabled services.

Change-Id: Idd5524ed0b602408be5a53830981a8ab974b390c
2015-08-01 13:18:17 -04:00
Joe Gordon 8c98d92de3 Remove sahara from the default configuration
There is now a sahara specific tempest job. So sahara is no longer needed in
the default configuration of the integrated gate.

Change-Id: I7dc829fb0382c65b926b90f3a88843dd6495bb63
Depends-On: I1f89a4e6aa40250f5d036dcc98b59c0526e80995
2015-05-07 16:35:56 -07:00
Joe Gordon 4b8c34e12d Remove heat from default configuration
There is now a heat specific tempest job. So Heat is no longer needed in
the default configuration of the integrated gate.

Change-Id: I70a20f36b333d7626751b099020f8f91c02cd147
Depends-On: I03fb778035926b6739394b64b370a245d31346c1
2015-04-24 15:22:14 -07:00
James E. Blair 89eba44167 Remove trove from default config
There is now a job that runs tempest with trove on top of the base
compute layer which runs on changes to trove.  It is no longer
needed in the default configuration of the integrated gate.

Change-Id: Ibae66418e4c036713045dfa13a736145f9098665
Depends-On: Ie324c0d5a51bfe85f0fab871507b1f4331e8c357
2015-03-05 12:01:57 -08:00
Sean Dague 85c56b997e remove heat from starting in grenade
It turns out there is actually no support for heat in grenade, so what
we're actually doing is starting heat on old, testing it, then not
actually upgrading heat, or testing it afterwards.

Testing heat on old isn't the purpose of this job, so we should drop
configuring that service. The normal heat tempest jobs should cover
that case anyway.

Change-Id: Iccc9135ef7abb73a414fa59ec7bc24513aa6e6e2
2015-02-13 17:12:00 -05:00
Matthew Treinish f8c5d29a6c Revert "Temporarily disable testing lbaas, fwaas, and vpnaas"
The advanced services migration has finished let's re-enable the
temporarily disabled testing and services.

This reverts commit 5358740468.

Change-Id: I10cdc1c6081aa2f66e924d65a8151e3bd118c7a2
2014-12-11 10:49:03 -05:00
Doug Wiegley 5358740468 Temporarily disable testing lbaas, fwaas, and vpnaas
As part of the migration of the advanced services out of the neutron repo
the testing in tempest needs to be disabled, otherwise the removal patch
in neutron will not be able to land. This is just a temporary workaround
to enable forward progress on the repo split, and should be reverted once
that is complete.

This patch passes the necessary configuration to devstack and tempest to
disable the advanced services from being started and also telling tempest
that the features aren't enabled. (which skips the tests) For setting the
enabled extensions in tempest this patch hard codes the extension list.
This is technically incorrect because this list isn't consistent between
branches, however since test-matrix.py doesn't support specifying
extensions yet, as a short-term temporary workaround it should be fine.

Related-Bug: #1400370
Co-Authored-By: Matthew Treinish <mtreinish@kortar.org>
Change-Id: I6044b27718de730286adcb69b2b1e1a2ab95e1fd
2014-12-09 17:54:24 +00:00
Clark Boylan ea9c5e6bb8 Havana branches are dead, remove havana from d-g
We EOLed, tagged, then deleted the stable/havana branches everywhere.
Clean havana out of devstack-gate as this config is no longer necessary.

Note this adds Juno specific test-features.sh tests because the havana
tests are no longer needed but we should continue to test that we
generate the proper feature lists for our stable branches.

Change-Id: Iea93ac03a9729cf6fe75a6410de4dec2c531f8d2
2014-10-18 13:51:41 -07: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
Emilien Macchi 4786f39e99 features: do not drop ceilometer when using grenade
We are introducting Ceilometer upgrade process in Grenade:
https://review.openstack.org/#/c/94468/

This patch delete the "ceilometer service remove" when deploying
devstack-gate in a grenade environment.

Change-Id: Id96331d31b67ea8c669a1bb784dc6c1696d2c320
2014-06-01 15:24:42 +02:00
Sean Dague 73b0377ff9 enable heat in grenade
this enables heat in the grenade jobs. Because we need to explicitly
tell tempest what services to test, this doesn't actually test
heat (that will depend on additional grenade changes).

This is therefore a largely no-op change in normal runs which will
make it possible for the heat team to add real grenade support.

Change-Id: I6cfb2e4abf43abf91f96e85e82fcdd1fee3f9470
2014-04-22 09:50:01 -04:00
Clark Boylan 17852b1254 Test matrix generation for feature branches.
The previous change to fix test matrix generation did not include a
test. Add a test here so that this does not regress.

Change-Id: Ib267a435fa0f28e50a83437d96ad0ef321ba6f46
2014-04-18 12:56:03 -07:00
Sean Dague f2f60e31f1 add sahara to devstack-gate default runs
sahara is an integrated project, put it in the integrated test
matrix.

Change-Id: I711a7a30460db91e76814088431400df4b9de272
2014-04-17 15:42:59 -04: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