Revert "Temporary pin the ceph jobs nodeset to Focal"

This reverts commit 863a01b032.

Partial revert only for the pin to focal, leaves the broken other jobs
commented out.

Update paste-deploy workaround to be used always.
Add qemu-block-extra and podman deps to the debs list.
Running on the newer ceph and distro causes some quite different
performance characteristics that cause tests that used to pass to fail
more often. This includes some performance optimizations to help
reduce the memory footprint, as well as depends on changes to
tempest tests to improve the reliability of those tests by enabling
validation via SSH.

This also moves the cephadm job to be the voting/gating job as that
seems to be the clear consensus about "the future" of how we deploy
ceph for testing.

Depends-On: https://review.opendev.org/c/openstack/cinder-tempest-plugin/+/881764
Co-Authored-By: Dan Smith <dms@danplanet.com>
Change-Id: I899822fec863f43cd6c58b25cf4688c6a3ac1e9b
This commit is contained in:
Dr. Jens Harbott 2022-11-22 18:27:58 +01:00 committed by Dan Smith
parent 563cb5deeb
commit 41b6a8c227
3 changed files with 23 additions and 24 deletions

View File

@ -2,9 +2,6 @@
name: devstack-plugin-ceph-tempest-py3-base
abstract: true
parent: tempest-full-py3
# TODO: Remove the nodeset pinning to focal once below bug is fixed
# https://bugs.launchpad.net/devstack-plugin-ceph/+bug/1996628
nodeset: openstack-single-node-focal
description: |
Base integration tests that runs with the ceph devstack plugin and py3.
Former names for this job where:
@ -21,11 +18,14 @@
- ^tox.ini$
timeout: 7200
vars:
configure_swap_size: 8192
tempest_concurrency: 3
devstack_localrc:
ENABLE_FILE_INJECTION: false
TEMPEST_PLUGINS: '/opt/stack/cinder-tempest-plugin'
ENABLE_VOLUME_MULTIATTACH: false
TEMPEST_RUN_VALIDATION: false
TEMPEST_RUN_VALIDATION: True
MYSQL_REDUCE_MEMORY: True
devstack_plugins:
devstack-plugin-ceph: https://opendev.org/openstack/devstack-plugin-ceph
devstack_services:
@ -37,26 +37,26 @@
tempest_test_blacklist: '{{ ansible_user_dir }}/{{ zuul.projects["opendev.org/openstack/devstack-plugin-ceph"].src_dir }}/tempest_skiplist.txt'
- job:
name: devstack-plugin-ceph-tempest-py3
name: devstack-plugin-ceph-tempest-ubuntu
parent: devstack-plugin-ceph-tempest-py3-base
description: |
Integration tests that runs with the ceph devstack plugin and py3.
Integration tests that runs with the ceph devstack plugin using ceph
packages from the distro.
This job enable the multiattach feature enable from stein on.
vars:
devstack_localrc:
ENABLE_VOLUME_MULTIATTACH: true
CEPH_RELEASE: "pacific"
- job:
name: devstack-plugin-ceph-tempest-cephadm
name: devstack-plugin-ceph-tempest-py3
parent: devstack-plugin-ceph-tempest-py3-base
description: |
Integration tests that runs with the ceph devstack plugin and py3.
The ceph cluster is deployed using cephadm
Integration tests that runs with the ceph devstack plugin using ceph
deployed using cephadm.
vars:
tempest_concurrency: 1
devstack_localrc:
DISABLE_CEPHADM_POST_DEPLOY: True
CEPHADM_DEPLOY: true
- job:
@ -124,9 +124,6 @@
description: |
Integration tests that runs the ceph device plugin across multiple
nodes on py3.
# TODO: Remove the nodeset pinning to focal once below bug is fixed
# https://bugs.launchpad.net/devstack-plugin-ceph/+bug/1996628
nodeset: openstack-two-node-focal
required-projects:
- openstack/cinder-tempest-plugin
- openstack/devstack-plugin-ceph
@ -185,9 +182,8 @@
Runs devstack-plugin-ceph-tempest jobs.
check:
jobs:
- devstack-plugin-ceph-tempest-py3:
voting: false
- devstack-plugin-ceph-tempest-cephadm:
- devstack-plugin-ceph-tempest-py3
- devstack-plugin-ceph-tempest-ubuntu:
voting: false
- devstack-plugin-ceph-cephfs-native:
irrelevant-files: *irrelevant-files
@ -201,9 +197,9 @@
# voting: false
# - devstack-plugin-ceph-master-tempest:
# voting: false
# gate:
# jobs:
# - devstack-plugin-ceph-tempest-py3
gate:
jobs:
- devstack-plugin-ceph-tempest-py3
- project:
templates:

View File

@ -1 +1,4 @@
xfsprogs
xfsprogs
qemu-block-extra
catatonit
podman

View File

@ -53,9 +53,9 @@ elif [[ "$1" == "stack" && "$2" == "install" ]]; then
# newer version of it, while python-pastedeploy remains. The mismatch
# between the install path of paste and paste.deploy causes Keystone to
# fail to start, with "ImportError: cannot import name deploy."
if [[ "$TARGET_BRANCH" == stable/queens || "$TARGET_BRANCH" == master ]]; then
pip_install -U --force PasteDeploy
fi
# TODO(frickler): This is needed for all branches currently.
pip_install -U --force PasteDeploy
install_package python-is-python3
fi
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
if [[ "$CEPHADM_DEPLOY" = "True" ]]; then