manila/playbooks/legacy/manila-tempest-dsvm-postgres-container/run.yaml
Ghanshyam Mann ed316557e9 Fix CI issues and adjust test jobs
It is incorrect to install tempest and manila-tempest-plugin
globally in devstack jobs. So this commit removes the use
of the test plugin's devstack installation hook, and uses
a "tempest-venv" that devstack sets up to run the tests.

To allow zuulv3 style jobs elsewhere [1] use the right
api versions when testing against this stable branch,
we enhance the devstack plugin.sh script to set api
versions as tempest configuration options.

Alongside these changes, we can perform a much needed
test job cleanup by eliminating some jobs we don't have
the bandwidth to maintain:

- manila-tempest-dsvm-postgres-generic-singlebackend
  Single backend jobs are not very useful - the job
  sets up a single backend in a multibackend style.
  We've dropped this from future branches, and we
  don't expect this job to catch any regressions that
  other jobs will miss.
- manila-tempest-dsvm-generic-no-share-servers
  This job's been failing; and wasting CI resources.
  We have other DHSS=False reference drivers (CephFS
  native/nfs, ZFSOnLinux, LVM) where we test the
  driver mode sufficiently.
- manila-tempest-dsvm-glusterfs-nfs-heketi
  and manila-tempest-dsvm-glusterfs-native-heketi
  these were in the experimental queue, unmaintained
- manila-tempest-dsvm-container-scenario-custom-image
  and manila-tempest-dsvm-generic-scenario-custom-image
  New zuulv3 style jobs in the manila-image-elements
  project replace these jobs [2].

[1] https://review.opendev.org/c/openstack/manila-tempest-plugin/+/725692
[2] 9c00e86d17/zuul.d/manila-image-elements-jobs.yaml

Closes-Bug: #1928880
Depends-On: I2eceb1d5fe42b1b779e115a0144a5d9639d3753f
Change-Id: I6c7db2286d544ff8156926e07efd57628cfdc9ff
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2021-05-28 11:16:40 -07:00

94 lines
3.5 KiB
YAML

- hosts: all
name: Autoconverted job manila-tempest-dsvm-postgres-container from old job gate-manila-tempest-dsvm-postgres-container-ubuntu-xenial-nv
tasks:
- name: Ensure legacy workspace directory
file:
path: '{{ ansible_user_dir }}/workspace'
state: directory
- shell:
cmd: |
set -e
set -x
cat > clonemap.yaml << EOF
clonemap:
- name: openstack/devstack-gate
dest: devstack-gate
EOF
/usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
https://opendev.org \
openstack/devstack-gate
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
set -e
set -x
cat << 'EOF' >>"/tmp/dg-local.conf"
[[local|localrc]]
enable_plugin manila https://opendev.org/openstack/manila
TEMPEST_PLUGINS='/opt/stack/new/manila-tempest-plugin'
EOF
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
set -e
set -x
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_POSTGRES=1
export DEVSTACK_PROJECT_FROM_GIT="python-manilaclient"
export ENABLED_SERVICES=tempest
# Keep localrc to be able to set some vars in pre_test_hook
export KEEP_LOCALRC=1
export PROJECTS="openstack/manila-tempest-plugin $PROJECTS"
export MANILA_INSTALL_TEMPEST_PLUGIN_SYSTEMWIDE=False
export MANILA_ALLOW_NAS_SERVER_PORTS_ON_HOST=True
export DEVSTACK_GATE_USE_PYTHON3=True
function pre_test_hook {
# 'dhss' - acronym for 'Driver Handles Share Servers',
# defines mode of a share driver. Boolean-like.
# 'driver' - codename of a share driver to configure.
# 'back_end_type' - defines which installation Manila should
# have - either 'singlebackend' or 'multibackend'.
source $BASE/new/manila/contrib/ci/pre_test_hook.sh \
1 \
container \
multibackend
}
export -f pre_test_hook
function post_test_hook {
# 'back_end_type' - defines which installation Manila is
# configured to - either 'singlebackend' or 'multibackend'.
# 'driver' - codename of a share driver that is configured in
# Manila. It is used for enabling/disabling tests that are not
# supported by share driver that is used.
# 'test_type' - defines which set of test suites should be used,
# can have 'api' and 'scenario' values.
# 'postgres_enabled' - set of test suites depends on DB backend
# in some cases, so it is provided explicitely. Boolean-like.
source $BASE/new/manila/contrib/ci/post_test_hook.sh \
multibackend \
container \
api \
1
}
export -f post_test_hook
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'