96 Commits

Author SHA1 Message Date
Ghanshyam Mann
96384e139b Remove broken tempest-full-py3-opensuse15 job
tempest-full-py3-opensuse15 is failing all the time[1] and
opensuse is not tested/supported distro in testing runtime
or devstack anymore. So let's remove opensuse broken job from
tempest too.

Needed-By: https://review.opendev.org/c/openstack/tempest/+/816569

[1] https://zuul.opendev.org/t/openstack/builds?job_name=tempest-full-py3-opensuse15

Change-Id: Ibb089a5e8dd3ce41c4bb83d7092c435db3c8d669
2021-11-03 15:55:36 -05:00
ca05872075 Add Python3 yoga unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for yoga.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: I690dd390ab5ffdffc339b6fa7aaa035b1faee341
2021-09-17 16:24:56 +00:00
Luigi Toscano
1c0c25babb Native multibackend-matrix Zuul v3 job
Port the legacy legacy-tempest-dsvm-multibackend-matrix job to the
native Zuul v3 syntax, and rename it following the guidelines
(cinder-multibackend-matrix-migration).

This job tests the migration between two different backends
specified through the volume.backend_names configuration
key in tempest.conf.

Now the job leverages the existing zuul code, namely the
run-tempest role, which is called multiple times with all
the possible combinations of the 3 tested backends
(lvm, ceph, nfs) where the source and the destination differ.

The final JUnitXML output summarizes the test results
for each of the tested combinations.

Change-Id: I34e7e48ee63c4c269f82ae178a7118ed402cad6d
2021-09-08 01:05:44 +02:00
Brian Rosmaita
269d21b2e3 Test glance with cinder backend optimization
Configure a gate job for glance using a cinder glance_store
with cinder configured to clone image data directly in the backend
instead of transferring data through glance.

Change-Id: I8a193b1cd6002e11db78c8eebceaa2fbc86a90bc
2021-08-27 04:19:14 +00:00
Zuul
98b49d0572 Merge "Add openstacksdk-functional-devstack job in cinder gate" 2021-08-10 17:48:43 +00:00
Zuul
fcdd2067d2 Merge "Run cinder-mypy job in the check" 2021-08-04 17:25:31 +00:00
Ghanshyam Mann
6854265085 Add openstacksdk-functional-devstack job in cinder gate
With cinderv2 API removal, openstacksdk-functional-devstack
was broken(depends-on) which was running the v2 test. Having
this job running in cinder gate like Nova and other project
will help to find such issue in future especially about client side
impact on any code change.

Change-Id: I81c1e0a9dbc5b9e3d1c4e945756b268cfc562895
2021-07-22 18:18:37 +00:00
Zuul
196a58dae1 Merge "Remove Block Storage API v2" 2021-07-22 05:18:14 +00:00
Brian Rosmaita
cc6b499d23 Run cinder-mypy job in the check
Promote the mypy job from experimental to a nonvoting check job.

Change-Id: I7aa9d603f69ba4424da7ae6f98192a888da1071c
2021-07-15 18:03:42 +00:00
Yandong Xuan
b604a3bf66 Drop lower-constraints jobs
Change-Id: I994af226743a50f11d89373868e588d0d0313785
2021-07-07 16:30:03 -04:00
Brian Rosmaita
e05b261af7 Remove Block Storage API v2
In this patch:
- adjusted VersionsController to return only v3
- removed cinder.api.v2.router
- adjustments to cinder.tests.unit.api.contrib to use /v3 only
- moved cinder.api.v2.snapshot_metadata (and tests) to cinder.api.v3
- moved cinder.api.v2.types (and view, tests) to cinder.api.v3
- updated versions response in api-ref
- removed unnecessary config option
- updated various sample config files
- removed experimental tempest-cinder-v2-api job
- updated some docs
- updated non-voting rally job config

Some cinder.api.v2 modules are left because the v3 classes depend on
them, but with the v2 router removed, these are unreachable via the
/v2 path.

Depends-on: https://review.opendev.org/c/openstack/rally-openstack/+/794891
(changes rally to use Block Storage API v3)
Depends-on: https://review.opendev.org/c/openstack/requirements/+/794894
(corrects regression in upper-constraint on Sphinx)

Change-Id: I2093d77db9beec7543c7524d2cd273e79dd5fd5d
2021-06-04 17:21:28 -04:00
Gorka Eguileor
da2fbff247 Fix functional jobs
In Change-ID I8db34f31d35375dc9656d53ac7af644c28a3d3fe we updated
api-ref samples, but functional tests didn't run so we didn't detect
that those samples changes broke our functional tests.

This patch fixes the functional tests, updates remaining cases of
key_size, and enables functional tests for api-ref changes to prevent
this from happening again.

Change-Id: I2a1f3121458c2db5e389dbcf31b34d412ffcd561
2021-05-25 16:55:05 +02:00
Luigi Toscano
2c2370671b zuul: fixes for the A/A job (nodeset, variables)
- set the parent job to the multinode variant of the base
  devstack-plugin-ceph tempest job. This way the nodeset
  is set automatically based on what devstack supports
  (currently focal, instead of the replaced bionic);
- set the devstack variable TEMPEST_VOLUME_REVERT_TO_SNAPSHOT
  (available since stein) instead of directly setting
  the tempest configuration.

Change-Id: Ic32d56b2f3a2c3f1f3345ba49f7b82b6c344f9f4
2021-05-05 09:26:06 +02:00
Eric Harney
f13717d12f zuul: add mypy experimental job
Change-Id: I41ab77500252ef0ce8734a89fcad5bcd20f5e2c2
2021-04-30 14:11:22 +00:00
9a0d7a7894 Add Python3 xena unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for xena.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: I35436231492a33a2b5b4bc223082a9482b62ea1d
2021-04-16 10:59:58 -04:00
Zuul
2462abec42 Merge "add openstack-python3-wallaby-jobs-arm64 job" 2021-03-20 07:49:56 +00:00
Luigi Toscano
28fd75e9ac Fix irrelevant-files for two devstack jobs
cinder-plugin-ceph-tempest-mn-aa had no irrelevant-files definition,
while cinder-tempest-plugin-lvm-lio-barbican used the list
meant for functional tests.

Both need to use the same definition shared by the other devstack
jobs (gate-irrelevant-files).

Change-Id: I83d358554ed1f1f38bef41d2375a79fe45151718
2021-02-10 14:24:45 +01:00
ricolin
514ae30403 add openstack-python3-wallaby-jobs-arm64 job
This is a non-voting job to validate py3 unittests on ARM64

Story: 2007938
Task: 40399

Change-Id: I4102db2b2e2e1e0946afd2848bace5b68219ce8e
2020-12-08 16:32:30 +08:00
wu.shiming
471a2790d2 Add Python3 wallaby unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for wallaby.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: Ic8668f50d6db62183fe42705ac31394e1d9f8c5a
2020-11-14 18:19:01 +00:00
Ghanshyam Mann
14e114d901 [goal] Fixing lower constraints for Ubuntu Focal
As per victoria cycle testing runtime and community goal,
we need to migrate upstream CI/CD to Ubuntu Focal(20.04).

Bump lower constraints to make testing work for Focal.

Co-Author: tushargite96 <tushargite96@gmail.com>
Story: #2007865
Task: #40179

Change-Id: I5f37fb5611362e550610e2094d9cb3778548bf47
2020-09-16 15:14:24 -05:00
Ghanshyam Mann
61fe1d8d25 Run l-c job on Bionic
l-c job template moved the l-c jobs running on Focal
and currently fails on many constraints.

Let's keep running l-c job on bionic as it was before and we
can move it to Focal once issues are identified and fixed.

Change-Id: I90ff9ad59f27b6ed064a7472e79d9257b11d54d3
2020-09-11 00:09:48 +00:00
Ivan Kolodyazhny
88ced915bb Add cinder-plugin-ceph-tempest-mn-aa job
A new job deploys Cinder+Ceph in Active/Active HA mode and runs tempest
tests to verify it works.

Change-Id: I9ccded0f2be1c0769017443e39227e0c4d9e22ff
2020-08-26 07:59:36 +00:00
Brian Rosmaita
416e61e649 Add non-voting code coverage job
Change-Id: Icbc1fbb1c9dcf3312860e504adb134811259c817
2020-06-30 18:58:03 -04:00
Zuul
98ff9150cc Merge "Native Zuul v3 cinder-grenade jobs" 2020-05-21 05:07:38 +00:00
Luigi Toscano
6c1e52cefc Native Zuul v3 cinder-grenade jobs
Specialize the grenade-multinode job and test the variations
on upgrade where a few services are available on the subnode only
(c-bak only, c-bak+c-vol, c-bak+c-sch+c-vol).

Also, use grenade instead of grenade-py3. The former is now used
(after Iea355514ec7cc2a52ed5e88c356bcb1cdeadd639) in
integrated-gate-storage instead of the latter, which means
that we need to change it in order to apply the value of
irrelevant-files.

Depends-On: https://review.opendev.org/548936
Change-Id: I3eac1afcbb69e25e9b2a916910caf3291aa7c1fe
2020-05-01 00:23:25 +02:00
Sean McGinnis
7fbc3a33b5
Switch to py38 and update version metadata
As part of Victoria, the highest python version to support is now Python
3.8. See [0] for full details of the expected runtimes to support.

This switches over functional testing to use 3.8 and updates the
projects metadata to declare 3.8 as a supported runtime.

[0] https://governance.openstack.org/tc/reference/runtimes/victoria.html

Change-Id: Ica2dade49a65e749acc701bc16127809a7f079d6
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-04-23 14:48:59 -05:00
3a3f371275 Add Python3 victoria unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for victoria.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: I48ebb2bde4f622801c54c90d97001f49041656c6
2020-04-23 19:20:38 +00:00
Jon Bernard
1a9518119c RBD: add support for revert-to-snapshot
We note here that although this operation is implemented in the
Ceph backend, the Ceph docs indicate that it is inefficient and the
preferred method of returning to a known previous state is to clone
from a snapshot.  However, this is properly a backend operation, and
it does not make sense to try to do it better in the driver than it
can be done on the backend.

Co-authored-by: Brian Rosmaita <rosmaita.fossdev@gmail.com>
Implements: bp rbd-revert-to-snapshot
Change-Id: If8a5eb3a03e18f9043ff29f7648234c9b46376a0
2020-04-07 10:06:54 -04:00
Zuul
48f648462a Merge "Port several legacy tempest jobs to Zuul v3" 2020-03-25 18:53:10 +00:00
Brian Rosmaita
56e22584cf Make cinder-plugin-ceph-tempest job voting
The job has been stable for a while now, so make it a voting job
again.  This change was discussed at the weekly Cinder meeting
on 11 March 2020.

Change-Id: I29382fdc7c72799e96391dd20d499b65c1bdb8f5
2020-03-12 02:27:58 +00:00
Luigi Toscano
9ab1ff0059 Port several legacy tempest jobs to Zuul v3
- cinder-tempest-lvm-multibackend is the simple LVM multibackend job
  and replaces legacy-tempest-dsvm-lvm-multibackend.
- remove legacy-tempest-dsvm-zeromq-multibackend, as ZeroMQ
  support was deprecated in Rocky and removed in Stein.
  It could be replaced by inheriting from
  cinder-tempest-lvm-multibackend in older branches
  when this patch is backported;
- replace cinder-tempest-dsvm-lvm-lio-barbican with
  cinder-tempest-dsvm-lvm-lio-barbican provided by
  cinder-tempest-plugins;
- replace legacy-tempest-dsvm-full-devstack-plugin-nfs with
  devstack-plugin-nfs-tempest-full, now provided by
  devstack-plugin-nfs;
- update cinder-plugin-ceph-tempest to also run cinderlib tests
  and make it inherit from devstack-plugin-ceph-tempest-py3.

Change-Id: Icdafaf55494b6dd74ec31c3572d7344fcc028166
2020-02-28 10:06:42 +01:00
Ghanshyam Mann
27aaf72bbf Run cinder-plugin-ceph-tempest on py3
cinder-plugin-ceph-tempest job is derived from
devstack-plugin-ceph-tempestjob which is py2 job.

We should use its py3 version devstack-plugin-ceph-tempest-py3
on master gate.

Change-Id: I0d99ecd324edde161ef1620409d1d2668299806c
2020-02-18 20:47:24 -06:00
Ghanshyam Mann
3ab8ec971c Move cinder grenade job to py3 and in cinder repo
below grenade jobs for cinder are present in opensatck-zuul-jobs
repo. These needs to run on py3 from Ussuri onwards and py2 for
stable/branch.

py2 version has been kept in opensatck-zuul-jobs and for ussuri
onwwards these has been migrated to cinder repo with py3 version.

- legacy-grenade-dsvm-cinder-mn-sub-bak
- legacy-grenade-dsvm-cinder-mn-sub-volbak
- legacy-grenade-dsvm-cinder-mn-sub-volschbak

Change-Id: I67d2504dd80214e615a45f605b0023ca6919fb73
2019-12-12 13:27:19 +00:00
Brian Rosmaita
c93000b2cd Remove Python 2 support from testing and gate jobs
tox:
- bumped tox minversion to 3.1.0 to get 'ignore_basepython_conflict'
- tox 'ignore_basepython_conflict' allows us to factor basepython=
  python3 to the [testenv] but override it when using '-e py37'
  (that way you actually get python 3.7 instead of whatever the system
  has for python3)
gate:
- adjusted tempest-dsvm-lvm-lio-barbican to use python 3 for devstack
- removed openstack-python-jobs template as these tests are covered
  in py3 by openstack-python3-ussuri-jobs
- dropped integrated-gate template as these tests are covered by the
  integrated-gate-storage template, which is already python3
- dropped tempest-full jobs as these are covered in py3 by tempest-
  integrated-storage
- changed openstack-tox-functional to openstack-tox-functional-py37
  and made it voting

The legacy-grenade-dsvm-cinder-mn-sub-* jobs are converted to py3
in a different patch, https://review.opendev.org/#/c/695787/

Left py2 requirements and did not adjust setup.cfg to require py3.
This prevents breakage for any projects still installing cinder under
py2.  These can be changed by a follow up patch in January.

Co-authored-by: Sean McGinnis <sean.mcginnis@gmail.com>
Co-authored-by: Brian Rosmaita <rosmaita.fossdev@gmail.com>

Closes-bug: #1853372

Change-Id: I376bd708ecc864f29c35b7225f875bb20a98cd3c
2019-11-25 13:31:32 -05:00
Slawek Kaplonski
b515cbadea Drop old neutron-grenade job
This job is still running python 2.7. As we are dropping py2 support in
Ussuri cycle, lets drop this job now.
There is same job called "grenade-py3" which runs on python 3 already
and this is still used in project's CI.

Change-Id: I24df43f22a1022a689d3d9fb8705c914e22b0c7f
2019-11-14 11:33:22 +01:00
Zuul
fb0bebe788 Merge "Switch to official Ussuri jobs" 2019-10-26 21:57:59 +00:00
Andreas Jaeger
a45dc60c40 Switch to opensuse-15 nodeset
opensuse-150 nodeset is referring to openSUSE 15.0, which is still in
maintenance but openSUSE 15.1 has been released already. "opensuse-15"
is going to refer to the "latest openSUSE 15.x" build released and
working for OpenStack going forward, so add this nodeset and use
it by default going forward.

The new job tempest-full-py3-opensuse15 use the opensuse-15 nodeset,
change tempest-full-py3-opensuse150 to tempest-full-py3-opensuse15.

Change-Id: Id2dd8d4f0dd19116c0fc55433d23af6f17f8fa4b
2019-10-16 21:39:17 +02:00
Sean McGinnis
6288829cbb
Switch to official Ussuri jobs
Change-Id: Icce40c47f5f3c09c763057e11b45392fbb6c2204
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2019-10-10 10:35:32 -05:00
Zuul
b095236639 Merge "Move hacking checks to tests dir" 2019-10-07 21:23:19 +00:00
Zuul
f5feb87ab8 Merge "Run 'tempest-ipv6-only' job in gate" 2019-09-20 22:32:34 +00:00
Eric Harney
3855eaca27 Move hacking checks to tests dir
This is not cinder service code, would be better
to move it into "tests".

Change-Id: I7b18453269cfc57bfbc9bd143d72948e88e60836
2019-09-13 10:06:48 -04:00
Zuul
7f3b769ae9 Merge "Never skip jobs when .zuul.yaml is changed" 2019-08-23 16:24:13 +00:00
Ghanshyam Mann
692338185d Run 'tempest-ipv6-only' job in gate
As part of Train community goal 'Support IPv6-Only Deployments and Testing'[1],
Tempest has defined the new job 'tempest-ipv6-only'(adding
in Depends-On patch) which will deploy services on IPv6 and run smoke
tests and IPv6 related tests present in Tempest.

This job will be part of Nova, Neutron, Cinder, Keystone, Glance, Swift
gate.

Verification structure will be:
- 'devstack-IPv6' deploy the service on IPv6
- 'devstack-tempest-ipv6' run will verify the IPv6-only setting and listen address
- 'tempest-ipv6-only' will run the smoke + IPv6 related test case.

This commit adds the new job 'tempest-ipv6-only' run on gate.

Story: #2005477
Task: #35883

Depends-On: https://review.opendev.org/#/c/671231/
Depends-On: https://review.opendev.org/#/c/673266/

[1] https://governance.openstack.org/tc/goals/train/ipv6-support-and-testing.html

Change-Id: I9cabf0e607b56162c5a2fd49ee0c31b00047ac01
2019-07-29 10:44:59 +00:00
Luigi Toscano
68b0dc5bfa Never skip jobs when .zuul.yaml is changed
This is a partial revert of https://review.opendev.org/650138/

Currently it is possible to send a review which only touches
.zuul.yaml and changes the functional/tempest/grenade jobs
in a way that breaks them (for example, by removing 'voting: false',
or adding a new job of the said type, or altering their definition
with new parameters). Such changes would not be gated, thus
allowing it to be merged.

Change-Id: Id2b1476fbe0ae7bffd8f64e6f870bdc3721abbb8
2019-07-21 23:51:51 +02:00
Ghanshyam Mann
d32652e8f6 Replace "integrated-gate-py3" template with new "integrated-gate-storage"
tempest-full-py3 job run all services API and scenario tests (non slow)
and this job is part of Integrated-gate-py3 gate template which run on
multiple services (nova, neutron, cinder, glance, placement, swift, keystone)
check and gate pipeline.
Due to all services tests run in single tempest-full-py3 job, it has
been not so stable. Many times unrelated service test break other
project gate.

But not all those services are dependent of Glance. Dependent in term of
both way, not all services used by Cinder or use Cinder. Cinder gate
does not need to run all those independent services tests. It can run only
Cinder, Glance, Swift and Nova related tests.

Idea here is to make integrated-gate testing more stable without losing
the test coverage.

Tempest has new "integrated-gate-storage" template which will run only
Cinder, Glance, Swift and Nova related tests[1].

This commit replaces the "integrated-gate-py3" template with new
"integrated-gate-storage".

ML discussion: http://lists.openstack.org/pipermail/openstack-discuss/2019-May/005871.html

[1] https://opendev.org/openstack/tempest/src/branch/master/.zuul.yaml#L626

Change-Id: I38a930d1e8ceef25db0f5b0b26b6402192dc8322
2019-07-18 18:57:53 +00:00
Gorka Eguileor
d17760e066 Run cinderlib functional tests on Ceph job
This patch replaces job devstack-plugin-ceph-tempest with
cinder-plugin-ceph-tempest that inherits from it.

This job runs the same devstack-tempest.yaml playbook but also runs the
cinderlib-run.yaml playbook for the cinderlib functional tests.

Since the openstack/cinderlib project is a required project for this job
we'll be able to run cross-repo dependencies with cinderlib.

Change-Id: Ia532b3fcfbecee7c6dc7aa302e6d90a8067b7ff0
2019-06-13 19:19:07 +02:00
Zuul
88a2dbd084 Merge "Run cinderlib functional tests on LVM-LIO job" 2019-06-12 18:30:38 +00:00
Zuul
ad9eda63ac Merge "Update Python 3 test runtimes for Train" 2019-06-10 20:40:41 +00:00
Zuul
75a2ab4b67 Merge "Enable osprofiler for rally job" 2019-06-06 23:11:11 +00:00
Eric Harney
edc5fab12e Enable osprofiler for rally job
Record profiling info with rally.

Change-Id: I6a569362ecc8e4f2f3b7b0ce4a0e5068da0fb281
2019-06-04 13:25:46 -04:00