From 0db59f717275a004c2f6c12f1248110dbb425587 Mon Sep 17 00:00:00 2001 From: melanie witt Date: Fri, 23 Mar 2018 21:40:59 +0000 Subject: [PATCH] Migrate tempest-dsvm-multinode-live-migration job in-tree This defines the nova-live-migration job, based on the tempest-dsvm-multinode-live-migration job from openstack-zuul-jobs. The branch override parts of the job definition are removed since the job will be defined per-branch now. Change-Id: Idea86d6bb648b1e6fef8813dbe569724ce81a750 (cherry picked from commit 7d8246244db56420e8c3512f991604ffda9bcc12) --- .zuul.yaml | 36 ++++++++++++++++ .../legacy/nova-live-migration/post.yaml | 15 +++++++ playbooks/legacy/nova-live-migration/run.yaml | 43 +++++++++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 playbooks/legacy/nova-live-migration/post.yaml create mode 100644 playbooks/legacy/nova-live-migration/run.yaml diff --git a/.zuul.yaml b/.zuul.yaml index aab0a7c2ebed..640b46c83e36 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -26,6 +26,34 @@ - ^tools/.*$ - ^tox.ini$ +- job: + name: nova-dsvm-multinode-base + parent: legacy-dsvm-base-multinode + description: | + Base job for multinode nova devstack/tempest jobs. + Will setup firewall rules on all the nodes allowing them to talk to + each other. + timeout: 10800 + required-projects: + - openstack-infra/devstack-gate + - openstack/nova + - openstack/tempest + irrelevant-files: + - ^(placement-)?api-.*$ + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^.git.*$ + - ^doc/.*$ + - ^nova/hacking/.*$ + - ^nova/locale/.*$ + - ^nova/tests/.*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tests-py3.txt$ + - ^tools/.*$ + - ^tox.ini$ + nodeset: legacy-ubuntu-xenial-2-node + - job: name: nova-tox-functional parent: openstack-tox @@ -68,6 +96,12 @@ run: playbooks/legacy/nova-cells-v1/run.yaml post-run: playbooks/legacy/nova-cells-v1/post.yaml +- job: + name: nova-live-migration + parent: nova-dsvm-multinode-base + run: playbooks/legacy/nova-live-migration/run.yaml + post-run: playbooks/legacy/nova-live-migration/post.yaml + - job: name: nova-lvm parent: nova-dsvm-base @@ -96,12 +130,14 @@ check: jobs: - nova-cells-v1 + - nova-live-migration - nova-multiattach - nova-tox-functional - nova-tox-functional-py35 gate: jobs: - nova-cells-v1 + - nova-live-migration - nova-multiattach - nova-tox-functional - nova-tox-functional-py35 diff --git a/playbooks/legacy/nova-live-migration/post.yaml b/playbooks/legacy/nova-live-migration/post.yaml new file mode 100644 index 000000000000..e07f5510ae70 --- /dev/null +++ b/playbooks/legacy/nova-live-migration/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/nova-live-migration/run.yaml b/playbooks/legacy/nova-live-migration/run.yaml new file mode 100644 index 000000000000..16307d8e068e --- /dev/null +++ b/playbooks/legacy/nova-live-migration/run.yaml @@ -0,0 +1,43 @@ +- hosts: primary + name: nova-live-migration + 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-infra/devstack-gate + dest: devstack-gate + EOF + /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ + git://git.openstack.org \ + openstack-infra/devstack-gate + 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_CONFIGDRIVE=0 + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_NOTESTS=1 + export DEVSTACK_GATE_TOPOLOGY="multinode" + function post_test_hook { + /opt/stack/new/nova/nova/tests/live_migration/hooks/run_tests.sh + } + 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 }}'