Browse Source
* 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: Iab7f7bcec9597444041c6d6891b5e0d9a03ba039changes/34/516934/5
8 changed files with 445 additions and 0 deletions
@ -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 |
@ -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 |
@ -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 }}' |
@ -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 |
@ -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 }}' |
@ -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 |
@ -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 }}' |
Loading…
Reference in new issue