summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChandan Kumar <chkumar@redhat.com>2017-11-01 16:40:19 +0530
committerChandan Kumar <chkumar@redhat.com>2017-11-13 09:30:36 +0530
commit3ad9a259c00c7cfeb4fdb9ca0c4f038f806791d0 (patch)
treea76edc9413b4ed59d67379eafb4d6f4b6e29a46c
parentc2fc68b7a824f129f756f7b5824322d88eba0040 (diff)
downloadneutron-3ad9a259c00c7cfeb4fdb9ca0c4f038f806791d0.tar.gz
Added zuulv3 jobs for testing neutron tempest plugin
* In order to test the tempest plugin, this patch adds following jobs against neutron repo. - neutron-tempest-plugin-api for api tests - neutron-tempest-plugin-dvr-multinode-scenario and neutron-tempest-plugin-scenario-linuxbridge for scenario tests Depends-On: I42d389836e72813fdeebc797a577f4a8ac2ee603 Change-Id: Iab7f7bcec9597444041c6d6891b5e0d9a03ba039
-rw-r--r--.gitignore1
-rw-r--r--.zuul.yaml59
-rw-r--r--playbooks/neutron-tempest-plugin-api/post.yaml80
-rw-r--r--playbooks/neutron-tempest-plugin-api/run.yaml68
-rw-r--r--playbooks/neutron-tempest-plugin-dvr-multinode-scenario/post.yaml15
-rw-r--r--playbooks/neutron-tempest-plugin-dvr-multinode-scenario/run.yaml71
-rw-r--r--playbooks/neutron-tempest-plugin-scenario-linuxbridge/post.yaml80
-rw-r--r--playbooks/neutron-tempest-plugin-scenario-linuxbridge/run.yaml71
8 files changed, 445 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index b98e075dab..c7935bc1bb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,6 +28,7 @@ setuptools*.egg/
!/.pylintrc
!/.stestr.conf
!/.testr.conf
+!/.zuul.yaml
# Files created by releasenotes build
releasenotes/build
diff --git a/.zuul.yaml b/.zuul.yaml
new file mode 100644
index 0000000000..25fbadfe0b
--- /dev/null
+++ b/.zuul.yaml
@@ -0,0 +1,59 @@
+- job:
+ name: neutron-tempest-plugin-api
+ parent: legacy-dsvm-base
+ run: playbooks/neutron-tempest-plugin-api/run.yaml
+ post-run: playbooks/neutron-tempest-plugin-api/post.yaml
+ timeout: 10000
+ required-projects:
+ - openstack-infra/devstack-gate
+ - openstack/neutron
+ - openstack/neutron-tempest-plugin
+ - openstack/tempest
+ irrelevant-files:
+ - ^(test-|)requirements.txt$
+ - ^setup.cfg$
+ voting: false
+
+- job:
+ name: neutron-tempest-plugin-scenario-linuxbridge
+ parent: legacy-dsvm-base
+ run: playbooks/neutron-tempest-plugin-scenario-linuxbridge/run.yaml
+ post-run: playbooks/neutron-tempest-plugin-scenario-linuxbridge/post.yaml
+ timeout: 10000
+ required-projects:
+ - openstack-infra/devstack-gate
+ - openstack/neutron
+ - openstack/neutron-tempest-plugin
+ - openstack/tempest
+ irrelevant-files:
+ - ^(test-|)requirements.txt$
+ - ^setup.cfg$
+ voting: false
+
+- job:
+ name: neutron-tempest-plugin-dvr-multinode-scenario
+ parent: legacy-dsvm-base-multinode
+ run: playbooks/neutron-tempest-plugin-dvr-multinode-scenario/run.yaml
+ post-run: playbooks/neutron-tempest-plugin-dvr-multinode-scenario/post.yaml
+ nodeset: legacy-ubuntu-xenial-2-node
+ timeout: 10800
+ required-projects:
+ - openstack-infra/devstack-gate
+ - openstack/neutron
+ - openstack/neutron-tempest-plugin
+ - openstack/tempest
+ irrelevant-files:
+ - ^(test-|)requirements.txt$
+ - ^setup.cfg$
+ voting: false
+
+- project:
+ name: openstack/neutron
+ check:
+ jobs:
+ - neutron-tempest-plugin-dvr-multinode-scenario
+ - neutron-tempest-plugin-scenario-linuxbridge
+ - neutron-tempest-plugin-api
+ gate:
+ jobs:
+ - neutron-tempest-plugin-api
diff --git a/playbooks/neutron-tempest-plugin-api/post.yaml b/playbooks/neutron-tempest-plugin-api/post.yaml
new file mode 100644
index 0000000000..dac875340a
--- /dev/null
+++ b/playbooks/neutron-tempest-plugin-api/post.yaml
@@ -0,0 +1,80 @@
+- 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=**/*nose_results.html
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - 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=**/*testr_results.html.gz
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - 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=/.testrepository/tmp*
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - 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=**/*testrepository.subunit.gz
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}/tox'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/.tox/*/log/*
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - 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/neutron-tempest-plugin-api/run.yaml b/playbooks/neutron-tempest-plugin-api/run.yaml
new file mode 100644
index 0000000000..3470bd4e3c
--- /dev/null
+++ b/playbooks/neutron-tempest-plugin-api/run.yaml
@@ -0,0 +1,68 @@
+- hosts: all
+ name: neutron-tempest-plugin-api
+ 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
+ cat << 'EOF' >>"/tmp/dg-local.conf"
+ [[local|localrc]]
+ TEMPEST_PLUGINS='/opt/stack/new/neutron-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_TEMPEST=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_EXERCISES=0
+ export DEVSTACK_GATE_TEMPEST_REGEX="neutron_tempest_plugin.api"
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ export PROJECTS="openstack/neutron-tempest-plugin $PROJECTS"
+
+ function gate_hook {
+ bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh api
+ }
+ export -f gate_hook
+
+ function post_test_hook {
+ bash -xe $BASE/new/neutron/neutron/tests/contrib/post_test_hook.sh api
+ }
+ 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 }}'
diff --git a/playbooks/neutron-tempest-plugin-dvr-multinode-scenario/post.yaml b/playbooks/neutron-tempest-plugin-dvr-multinode-scenario/post.yaml
new file mode 100644
index 0000000000..e07f5510ae
--- /dev/null
+++ b/playbooks/neutron-tempest-plugin-dvr-multinode-scenario/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/neutron-tempest-plugin-dvr-multinode-scenario/run.yaml b/playbooks/neutron-tempest-plugin-dvr-multinode-scenario/run.yaml
new file mode 100644
index 0000000000..d68747c7e8
--- /dev/null
+++ b/playbooks/neutron-tempest-plugin-dvr-multinode-scenario/run.yaml
@@ -0,0 +1,71 @@
+- hosts: all
+ name: neutron-tempest-plugin-dvr-multinode-scenario
+ 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
+ cat << 'EOF' >>"/tmp/dg-local.conf"
+ [[local|localrc]]
+ TEMPEST_PLUGINS='/opt/stack/new/neutron-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_TEMPEST=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_CONFIGDRIVE=0
+ export DEVSTACK_GATE_TEMPEST_REGEX="(neutron_tempest_plugin.scenario)"
+ export TEMPEST_CONCURRENCY=2
+ # Test DVR works multinode
+ export DEVSTACK_GATE_NEUTRON_DVR=1
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+ export DEVSTACK_GATE_TOPOLOGY="multinode"
+ export PROJECTS="openstack/neutron-tempest-plugin $PROJECTS"
+
+ function gate_hook {
+ bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh dsvm-scenario-ovs
+ }
+ export -f gate_hook
+
+ function post_test_hook {
+ bash -xe $BASE/new/neutron/neutron/tests/contrib/post_test_hook.sh dsvm-scenario-ovs
+ }
+ 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 }}'
diff --git a/playbooks/neutron-tempest-plugin-scenario-linuxbridge/post.yaml b/playbooks/neutron-tempest-plugin-scenario-linuxbridge/post.yaml
new file mode 100644
index 0000000000..dac875340a
--- /dev/null
+++ b/playbooks/neutron-tempest-plugin-scenario-linuxbridge/post.yaml
@@ -0,0 +1,80 @@
+- 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=**/*nose_results.html
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - 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=**/*testr_results.html.gz
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - 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=/.testrepository/tmp*
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - 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=**/*testrepository.subunit.gz
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}/tox'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/.tox/*/log/*
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - 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/neutron-tempest-plugin-scenario-linuxbridge/run.yaml b/playbooks/neutron-tempest-plugin-scenario-linuxbridge/run.yaml
new file mode 100644
index 0000000000..f2be130985
--- /dev/null
+++ b/playbooks/neutron-tempest-plugin-scenario-linuxbridge/run.yaml
@@ -0,0 +1,71 @@
+- hosts: all
+ name: neutron-tempest-plugin-scenario-linuxbridge
+ 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
+ cat << 'EOF' >>"/tmp/dg-local.conf"
+ [[local|localrc]]
+ Q_AGENT=linuxbridge
+ PHYSICAL_NETWORK=default
+ TEMPEST_PLUGINS='/opt/stack/new/neutron-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_TEMPEST=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export DEVSTACK_GATE_EXERCISES=0
+ export DEVSTACK_GATE_TEMPEST_REGEX="(neutron_tempest_plugin.scenario)"
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ export TEMPEST_CONCURRENCY=2
+ export PROJECTS="openstack/neutron-tempest-plugin $PROJECTS"
+ function gate_hook {
+ bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh dsvm-scenario-linuxbridge dvrskip
+ }
+ export -f gate_hook
+
+ function post_test_hook {
+ bash -xe $BASE/new/neutron/neutron/tests/contrib/post_test_hook.sh dsvm-scenario-linuxbridge
+ }
+ 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 }}'