From 4ce9180d6c427139c7d5d9594e03947d131c03a2 Mon Sep 17 00:00:00 2001 From: Goutham Pacha Ravi Date: Thu, 23 Jul 2020 11:22:24 -0700 Subject: [PATCH] [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. This isn't a perfect cherry-pick since the base job was named differently on this branch. [1] http://lists.openstack.org/pipermail/openstack-discuss/2020-June/015432.html Related-Bug: #1888717 Change-Id: I4a9ae0744757d1c9bfe4f2b213eb04364992af0d Signed-off-by: Goutham Pacha Ravi (cherry picked from commit 9a1345b2eaa2fefb13f70c54bbcbdef6115e44ce) Signed-off-by: Goutham Pacha Ravi --- .zuul.yaml | 20 ++++- contrib/ci/post_test_hook.sh | 1 - contrib/ci/pre_test_hook.sh | 1 - .../manila-tempest-dsvm-lvm-em-only/post.yaml | 15 ++++ .../manila-tempest-dsvm-lvm-em-only/run.yaml | 83 +++++++++++++++++++ 5 files changed, 116 insertions(+), 4 deletions(-) create mode 100644 playbooks/legacy/manila-tempest-dsvm-lvm-em-only/post.yaml create mode 100644 playbooks/legacy/manila-tempest-dsvm-lvm-em-only/run.yaml diff --git a/.zuul.yaml b/.zuul.yaml index 41e5ab9319..03ae4351ef 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -26,7 +26,11 @@ - manila-tempest-minimal-dsvm-cephfs-nfs-centos-7: 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 - grenade-dsvm-manila: voting: false - rally-dsvm-manila-multibackend: @@ -42,7 +46,7 @@ jobs: - manila-tox-genconfig - manila-tempest-minimal-dsvm-dummy - - manila-tempest-minimal-dsvm-lvm-centos-7 + - manila-tempest-dsvm-lvm-em-only experimental: jobs: - manila-tempest-dsvm-glusterfs-nfs @@ -304,6 +308,18 @@ - openstack/python-manilaclient - openstack/tempest +- job: + name: manila-tempest-dsvm-lvm-em-only + parent: legacy-manila-tempest-dsvm-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: legacy-manila-tempest-dsvm-base diff --git a/contrib/ci/post_test_hook.sh b/contrib/ci/post_test_hook.sh index 9c10eba4b4..36bd2477ad 100755 --- a/contrib/ci/post_test_hook.sh +++ b/contrib/ci/post_test_hook.sh @@ -192,7 +192,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' diff --git a/contrib/ci/pre_test_hook.sh b/contrib/ci/pre_test_hook.sh index 691d6ee386..fe1ddb5fa4 100755 --- a/contrib/ci/pre_test_hook.sh +++ b/contrib/ci/pre_test_hook.sh @@ -148,7 +148,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 diff --git a/playbooks/legacy/manila-tempest-dsvm-lvm-em-only/post.yaml b/playbooks/legacy/manila-tempest-dsvm-lvm-em-only/post.yaml new file mode 100644 index 0000000000..e07f5510ae --- /dev/null +++ b/playbooks/legacy/manila-tempest-dsvm-lvm-em-only/post.yaml @@ -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 diff --git a/playbooks/legacy/manila-tempest-dsvm-lvm-em-only/run.yaml b/playbooks/legacy/manila-tempest-dsvm-lvm-em-only/run.yaml new file mode 100644 index 0000000000..ea33cc78a2 --- /dev/null +++ b/playbooks/legacy/manila-tempest-dsvm-lvm-em-only/run.yaml @@ -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 }}'