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
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
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
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
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
- 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
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
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
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
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
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>
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
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
- 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
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
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
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
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
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
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
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
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
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