From 35d8f93645115d00f823a74b34a868f991182b1b Mon Sep 17 00:00:00 2001 From: Matt Riedemann Date: Fri, 2 Aug 2019 12:11:48 -0400 Subject: [PATCH] Convert nova-lvm job to zuul v3 Converts the job to zuul v3 native format so the legacy playbook is deleted. Drops the blacklist regex file in favor of simply configuring tempest to not run resize or cold migration tests. Change-Id: I4630066731f12c42091ddf9dd3159e0494df88b1 --- .zuul.yaml | 31 ++++++++++++--- devstack/tempest-dsvm-lvm-rc | 62 ----------------------------- playbooks/legacy/nova-lvm/post.yaml | 15 ------- playbooks/legacy/nova-lvm/run.yaml | 54 ------------------------- 4 files changed, 25 insertions(+), 137 deletions(-) delete mode 100644 devstack/tempest-dsvm-lvm-rc delete mode 100644 playbooks/legacy/nova-lvm/post.yaml delete mode 100644 playbooks/legacy/nova-lvm/run.yaml diff --git a/.zuul.yaml b/.zuul.yaml index 3811620db216..68c6ca832daf 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -150,17 +150,14 @@ - job: name: nova-lvm - parent: nova-dsvm-base + parent: devstack-tempest description: | Run tempest compute API tests using LVM image backend. This only runs against nova/virt/libvirt/* changes. - run: playbooks/legacy/nova-lvm/run.yaml - post-run: playbooks/legacy/nova-lvm/post.yaml # Copy irrelevant-files from nova-dsvm-base and then exclude anything - # that is not in nova/virt/libvirt/* or nova/privsep/* (besides the actual - # zuul playbook and tempest rc files so this can be self-testing). + # that is not in nova/virt/libvirt/* or nova/privsep/*. irrelevant-files: - - ^(?!.zuul.yaml)(?!playbooks/legacy/nova-lvm/)(?!devstack/tempest-dsvm-lvm-rc)(?!nova/virt/libvirt/)(?!nova/privsep/).*$ + - ^(?!.zuul.yaml)(?!nova/virt/libvirt/)(?!nova/privsep/).*$ - ^api-.*$ - ^(test-|)requirements.txt$ - ^.*\.rst$ @@ -178,6 +175,28 @@ # TODO(mriedem): Make this voting and gating once bug 1771700 is fixed # and we've had enough runs to feel comfortable with this setup. voting: false + vars: + # We use the "all" environment for tempest_test_regex and + # tempest_black_regex. + tox_envlist: all + # Only run compute API tests. + tempest_test_regex: ^tempest\.api\.compute + # Skip slow tests. + tempest_black_regex: .*\[.*\bslow\b.*\] + devstack_local_conf: + test-config: + $TEMPEST_CONFIG: + compute-feature-enabled: + # NOTE(mriedem): resize of non-volume-backed lvm instances does + # not yet work (bug 1831657). + resize: false + cold_migration: false + devstack_localrc: + NOVA_BACKEND: LVM + # Do not waste time clearing volumes. + LVM_VOLUME_CLEAR: none + # Disable SSH validation in tests to save time. + TEMPEST_RUN_VALIDATION: false - job: name: nova-next diff --git a/devstack/tempest-dsvm-lvm-rc b/devstack/tempest-dsvm-lvm-rc deleted file mode 100644 index 21272c8fc26d..000000000000 --- a/devstack/tempest-dsvm-lvm-rc +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 2016 IBM Corp. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# -# This script is executed in the OpenStack CI *tempest-dsvm-lvm job. -# It's used to configure which tempest tests actually get run. You can find -# the CI job configuration here: -# -# https://opendev.org/openstack/nova/src/branch/master/playbooks/legacy/nova-lvm/run.yaml -# - -# Construct a regex to use when limiting scope of tempest -# to avoid features unsupported by Nova's LVM support. - -# Note that several tests are disabled by the use of tempest -# feature toggles in devstack/lib/tempest for an lvm config, -# so this regex is not entirely representative of what's excluded. - -# When adding entries to the regex, add a comment explaining why -# since this list should not grow. - -r="^(?!.*" -r="$r(?:.*\[.*\bslow\b.*\])" - -# Only run compute API tests. The ! here looks confusing but it's to negate -# the ! at the beginning of the regex since the rest of this is meant to be -# a backlist. -r="$r|(?!.*api.compute.*)" - -# NOTE(mriedem): resize of non-volume-backed lvm instances does not yet work -# tempest.api.compute.admin.test_migrations.MigrationsAdminTest.test_list_migrations_in_flavor_resize_situation -r="$r|(?:.*id\-1b512062\-8093\-438e\-b47a\-37d2f597cd64.*)" -# tempest.api.compute.admin.test_migrations.MigrationsAdminTest.test_resize_server_revert_deleted_flavor -r="$r|(?:.*id\-33f1fec3\-ba18\-4470\-8e4e\-1d888e7c3593.*)" -# tempest.api.compute.servers.test_delete_server.DeleteServersTestJSON.test_delete_server_while_in_verify_resize_state -r="$r|(?:.*id\-ab0c38b4\-cdd8\-49d3\-9b92\-0cb898723c01.*)" -# tempest.api.compute.servers.test_disk_config.ServerDiskConfigTestJSON.test_resize_server_from_auto_to_manual -r="$r|(?:.*id\-693d16f3\-556c\-489a\-8bac\-3d0ca2490bad.*)" -# tempest.api.compute.servers.test_disk_config.ServerDiskConfigTestJSON.test_resize_server_from_manual_to_auto -r="$r|(?:.*id\-414e7e93\-45b5\-44bc\-8e03\-55159c6bfc97.*)" -# tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_resize_server_confirm -r="$r|(?:.*id\-1499262a\-9328\-4eda\-9068\-db1ac57498d2.*)" -# tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_resize_server_confirm_from_stopped -r="$r|(?:.*id\-138b131d\-66df\-48c9\-a171\-64f45eb92962.*)" -# tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_resize_server_revert -r="$r|(?:.*id\-c03aab19\-adb1\-44f5\-917d\-c419577e9e68.*)" -# tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_resize_server_revert_with_volume_attached -r="$r|(?:.*id\-fbbf075f\-a812\-4022\-bc5c\-ccb8047eef12.*)" -r="$r).*$" - -export DEVSTACK_GATE_TEMPEST_REGEX="$r" diff --git a/playbooks/legacy/nova-lvm/post.yaml b/playbooks/legacy/nova-lvm/post.yaml deleted file mode 100644 index e07f5510ae70..000000000000 --- a/playbooks/legacy/nova-lvm/post.yaml +++ /dev/null @@ -1,15 +0,0 @@ -- 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/nova-lvm/run.yaml b/playbooks/legacy/nova-lvm/run.yaml deleted file mode 100644 index 3445e186bc57..000000000000 --- a/playbooks/legacy/nova-lvm/run.yaml +++ /dev/null @@ -1,54 +0,0 @@ -- hosts: all - name: Autoconverted job legacy-tempest-dsvm-lvm from old job gate-tempest-dsvm-lvm-ubuntu-xenial - 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]] - NOVA_BACKEND=LVM - LVM_VOLUME_CLEAR=none - TEMPEST_RUN_VALIDATION=false - - 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_TEMPEST=1 - - export DEVSTACK_GATE_SETTINGS=/opt/stack/new/nova/devstack/tempest-dsvm-lvm-rc - - 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 }}'