Browse Source

[extended-maintenance-branches-only] Replace LVM job

the voting LVM job (manila-tempest-minimal-dsvm-lvm-centos-7)
has been failing for a while due to the issue identified
in [1]. The fix for the issues didn't suffice for CentOS,
and we use CentOS because of missing IPv6 related fixes
in Xenial's nfs-utils package. to avoid impacting helpful
backports to these branches, this commit introduces a
new voting job called "manila-tempest-dsvm-lvm-em-only"
that deploys manila with the LVM driver on Xenial and
runs IPv4 scenario tests.

[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-June/015432.html
Related-Bug: #1888717
Change-Id: I4a9ae0744757d1c9bfe4f2b213eb04364992af0d
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
changes/24/742724/4
Goutham Pacha Ravi 1 week ago
parent
commit
9a1345b2ea
5 changed files with 116 additions and 4 deletions
  1. +18
    -2
      .zuul.yaml
  2. +0
    -1
      contrib/ci/post_test_hook.sh
  3. +0
    -1
      contrib/ci/pre_test_hook.sh
  4. +15
    -0
      playbooks/legacy/manila-tempest-dsvm-lvm-em-only/post.yaml
  5. +83
    -0
      playbooks/legacy/manila-tempest-dsvm-lvm-em-only/run.yaml

+ 18
- 2
.zuul.yaml View File

@@ -26,7 +26,11 @@
- manila-tempest-minimal-dsvm-cephfs-nfs:
voting: false
- manila-tempest-minimal-dsvm-dummy
- manila-tempest-minimal-dsvm-lvm-centos-7
- manila-tempest-dsvm-lvm-em-only
# manila-tempest-dsvm-lvm-em-only replaces below
# job because of LP #1888717
- manila-tempest-minimal-dsvm-lvm-centos-7:
voting: false
- manila-grenade:
voting: false
- manila-rally-multibackend:
@@ -44,7 +48,7 @@
jobs:
- manila-tox-genconfig
- manila-tempest-minimal-dsvm-dummy
- manila-tempest-minimal-dsvm-lvm-centos-7
- manila-tempest-dsvm-lvm-em-only
- openstack-tox-lower-constraints
experimental:
jobs:
@@ -335,6 +339,18 @@
- openstack/python-manilaclient
- openstack/tempest

- job:
name: manila-tempest-dsvm-lvm-em-only
parent: manila-tempest-base
run: playbooks/legacy/manila-tempest-dsvm-lvm-em-only/run.yaml
post-run: playbooks/legacy/manila-tempest-dsvm-lvm-em-only/post.yaml
required-projects:
- openstack/devstack-gate
- openstack/manila
- openstack/manila-tempest-plugin
- openstack/python-manilaclient
- openstack/tempest

- job:
name: manila-tempest-minimal-dsvm-lvm-centos-7
parent: manila-tempest-base


+ 0
- 1
contrib/ci/post_test_hook.sh View File

@@ -196,7 +196,6 @@ if [[ "$DRIVER" == "lvm" ]]; then
RUN_MANILA_SHRINK_TESTS=False
RUN_MANILA_REVERT_TO_SNAPSHOT_TESTS=True
RUN_MANILA_MOUNT_SNAPSHOT_TESTS=True
RUN_MANILA_IPV6_TESTS=True
iniset $TEMPEST_CONFIG share enable_ip_rules_for_protocols 'nfs'
iniset $TEMPEST_CONFIG share enable_user_rules_for_protocols 'cifs'
iniset $TEMPEST_CONFIG share image_with_share_tools 'manila-service-image-master'


+ 0
- 1
contrib/ci/pre_test_hook.sh View File

@@ -146,7 +146,6 @@ elif [[ "$DRIVER" == "lvm" ]]; then

echo "SHARE_DRIVER=manila.share.drivers.lvm.LVMShareDriver" >> $localconf
echo "SHARE_BACKING_FILE_SIZE=32000M" >> $localconf
export MANILA_SETUP_IPV6=True
elif [[ "$DRIVER" == "zfsonlinux" ]]; then
MANILA_SERVICE_IMAGE_ENABLED=True
echo "SHARE_DRIVER=manila.share.drivers.zfsonlinux.driver.ZFSonLinuxShareDriver" >> $localconf


+ 15
- 0
playbooks/legacy/manila-tempest-dsvm-lvm-em-only/post.yaml View File

@@ -0,0 +1,15 @@
- hosts: primary
tasks:

- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
synchronize:
src: '{{ ansible_user_dir }}/workspace/'
dest: '{{ zuul.executor.log_root }}'
mode: pull
copy_links: true
verify_host: true
rsync_opts:
- --include=/logs/**
- --include=*/
- --exclude=*
- --prune-empty-dirs

+ 83
- 0
playbooks/legacy/manila-tempest-dsvm-lvm-em-only/run.yaml View File

@@ -0,0 +1,83 @@
- hosts: all
name: manila-tempest-dsvm-lvm-em-only runs only IPv4 tests, See https://launchpad.net/bugs/1888717
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]]
SKIP_EPEL_INSTALL=True
enable_plugin manila https://opendev.org/openstack/manila
enable_plugin manila-tempest-plugin https://opendev.org/openstack/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_PROJECT_FROM_GIT="python-manilaclient"

export MANILA_INSTALL_TEMPEST_PLUGIN_SYSTEMWIDE=False
export MANILA_ALLOW_NAS_SERVER_PORTS_ON_HOST=True

# Keep localrc to be able to set some vars in pre_test_hook
export KEEP_LOCALRC=1
export ENABLED_SERVICES=tempest
export PROJECTS="openstack/manila-tempest-plugin $PROJECTS"

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 False lvm 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 lvm api False
}
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 }}'

Loading…
Cancel
Save