From 75cbec9573f0a4982e852170b7487554ee177743 Mon Sep 17 00:00:00 2001 From: Jens Harbott Date: Thu, 7 Dec 2017 16:24:05 +0000 Subject: [PATCH] Migrate legacy jobs into neutron-dynamic-routing repo This is step 1 of the migration process, see [0]. Since neutron has moved the tempest tests to a separate repo, we also need to include that plugin now. [0] https://docs.openstack.org/infra/manual/zuulv3.html#moving-legacy-jobs-to-projects Change-Id: I8d81fe6fb7e5e8f47fcac99120f54381219af2b9 --- .gitignore | 1 + .zuul.yaml | 98 +++++++++++++++++++ .../post.yaml | 80 +++++++++++++++ .../run.yaml | 57 +++++++++++ .../post.yaml | 80 +++++++++++++++ .../run.yaml | 72 ++++++++++++++ .../post.yaml | 80 +++++++++++++++ .../run.yaml | 59 +++++++++++ .../post.yaml | 80 +++++++++++++++ .../run.yaml | 59 +++++++++++ .../post.yaml | 80 +++++++++++++++ .../run.yaml | 59 +++++++++++ .../post.yaml | 80 +++++++++++++++ .../run.yaml | 64 ++++++++++++ 14 files changed, 949 insertions(+) create mode 100644 .zuul.yaml create mode 100644 playbooks/neutron-dynamic-routing-dsvm-functional/post.yaml create mode 100644 playbooks/neutron-dynamic-routing-dsvm-functional/run.yaml create mode 100644 playbooks/neutron-dynamic-routing-dsvm-tempest-api/post.yaml create mode 100644 playbooks/neutron-dynamic-routing-dsvm-tempest-api/run.yaml create mode 100644 playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-basic/post.yaml create mode 100644 playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-basic/run.yaml create mode 100644 playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv4/post.yaml create mode 100644 playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv4/run.yaml create mode 100644 playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv6/post.yaml create mode 100644 playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv6/run.yaml create mode 100644 playbooks/neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4/post.yaml create mode 100644 playbooks/neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4/run.yaml diff --git a/.gitignore b/.gitignore index a593695f..5df790b0 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,7 @@ subunit.log !/.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 00000000..29f0ccd7 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,98 @@ +- job: + name: neutron-dynamic-routing-dsvm-functional + parent: legacy-dsvm-base + run: playbooks/neutron-dynamic-routing-dsvm-functional/run.yaml + post-run: playbooks/neutron-dynamic-routing-dsvm-functional/post.yaml + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/neutron + - openstack/neutron-dynamic-routing + +- job: + name: neutron-dynamic-routing-dsvm-tempest-api + parent: legacy-dsvm-base + run: playbooks/neutron-dynamic-routing-dsvm-tempest-api/run.yaml + post-run: playbooks/neutron-dynamic-routing-dsvm-tempest-api/post.yaml + timeout: 7500 + required-projects: + - openstack-infra/devstack-gate + - openstack/neutron + - openstack/neutron-dynamic-routing + - openstack/neutron-tempest-plugin + - openstack/tempest + +- job: + name: neutron-dynamic-routing-dsvm-tempest-scenario-basic + parent: legacy-dsvm-base + run: playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-basic/run.yaml + post-run: playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-basic/post.yaml + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/neutron + - openstack/neutron-dynamic-routing + - openstack/neutron-tempest-plugin + - openstack/tempest + +- job: + name: neutron-dynamic-routing-dsvm-tempest-scenario-ipv4 + parent: legacy-dsvm-base + run: playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv4/run.yaml + post-run: playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv4/post.yaml + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/neutron + - openstack/neutron-dynamic-routing + - openstack/neutron-tempest-plugin + - openstack/tempest + +- job: + name: neutron-dynamic-routing-dsvm-tempest-scenario-ipv6 + parent: legacy-dsvm-base + run: playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv6/run.yaml + post-run: playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv6/post.yaml + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/neutron + - openstack/neutron-dynamic-routing + - openstack/neutron-tempest-plugin + - openstack/tempest + +- job: + name: neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4 + parent: legacy-dsvm-base + run: playbooks/neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4/run.yaml + post-run: playbooks/neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4/post.yaml + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/neutron + - openstack/neutron-dynamic-routing + - openstack/neutron-tempest-plugin + - openstack/tempest + +- project: + name: openstack/neutron-dynamic-routing + check: + jobs: + - neutron-dynamic-routing-dsvm-functional + - neutron-dynamic-routing-dsvm-tempest-api + - neutron-dynamic-routing-dsvm-tempest-scenario-basic: + voting: false + - neutron-dynamic-routing-dsvm-tempest-scenario-ipv4: + voting: false + - neutron-dynamic-routing-dsvm-tempest-scenario-ipv6: + voting: false + gate: + jobs: + - neutron-dynamic-routing-dsvm-functional + - neutron-dynamic-routing-dsvm-tempest-api + experimental: + jobs: + - neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4 + periodic: + jobs: + - neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4 diff --git a/playbooks/neutron-dynamic-routing-dsvm-functional/post.yaml b/playbooks/neutron-dynamic-routing-dsvm-functional/post.yaml new file mode 100644 index 00000000..dac87534 --- /dev/null +++ b/playbooks/neutron-dynamic-routing-dsvm-functional/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-dynamic-routing-dsvm-functional/run.yaml b/playbooks/neutron-dynamic-routing-dsvm-functional/run.yaml new file mode 100644 index 00000000..b92ad22e --- /dev/null +++ b/playbooks/neutron-dynamic-routing-dsvm-functional/run.yaml @@ -0,0 +1,57 @@ +- hosts: all + name: Autoconverted job legacy-neutron-dynamic-routing-dsvm-functional from old + job gate-neutron-dynamic-routing-dsvm-functional + 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_UNSTACK=1 + export DEVSTACK_GATE_TEMPEST=0 + export DEVSTACK_GATE_EXERCISES=0 + export DEVSTACK_GATE_NEUTRON=1 + export DEVSTACK_GATE_INSTALL_TESTONLY=1 + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export PROJECTS="openstack/neutron-dynamic-routing $PROJECTS" + + function gate_hook { + bash -xe $BASE/new/neutron-dynamic-routing/neutron_dynamic_routing/tests/contrib/gate_hook.sh dsvm-functional + } + export -f gate_hook + + function post_test_hook { + bash -xe $BASE/new/neutron-dynamic-routing/neutron_dynamic_routing/tests/contrib/post_test_hook.sh dsvm-functional + } + 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-dynamic-routing-dsvm-tempest-api/post.yaml b/playbooks/neutron-dynamic-routing-dsvm-tempest-api/post.yaml new file mode 100644 index 00000000..dac87534 --- /dev/null +++ b/playbooks/neutron-dynamic-routing-dsvm-tempest-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-dynamic-routing-dsvm-tempest-api/run.yaml b/playbooks/neutron-dynamic-routing-dsvm-tempest-api/run.yaml new file mode 100644 index 00000000..b99ffb74 --- /dev/null +++ b/playbooks/neutron-dynamic-routing-dsvm-tempest-api/run.yaml @@ -0,0 +1,72 @@ +- hosts: all + name: Autoconverted job legacy-neutron-dynamic-routing-dsvm-tempest-api from old + job gate-neutron-dynamic-routing-dsvm-tempest-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]] + enable_plugin neutron-dynamic-routing git://git.openstack.org/openstack/neutron-dynamic-routing + enable_plugin neutron-tempest-plugin git://git.openstack.org/openstack/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 + if [ "ZUUL_BRANCH" == "stable/newton" ]; then + export DEVSTACK_GATE_TEMPEST_REGEX="^neutron_dynamic_routing\." + else + export DEVSTACK_GATE_TEMPEST_REGEX="^neutron_dynamic_routing.tests.tempest.api\." + fi + export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1 + export DEVSTACK_GATE_NEUTRON=1 + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export PROJECTS="openstack/neutron-dynamic-routing $PROJECTS" + export PROJECTS="openstack/neutron-tempest-plugin $PROJECTS" + + if [ "ZUUL_BRANCH" != "stable/newton" ]; then + function gate_hook { + bash -xe $BASE/new/neutron-dynamic-routing/neutron_dynamic_routing/tests/contrib/gate_hook.sh dsvm-api + } + export -f gate_hook + fi + + 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-dynamic-routing-dsvm-tempest-scenario-basic/post.yaml b/playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-basic/post.yaml new file mode 100644 index 00000000..dac87534 --- /dev/null +++ b/playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-basic/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-dynamic-routing-dsvm-tempest-scenario-basic/run.yaml b/playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-basic/run.yaml new file mode 100644 index 00000000..bb7cda5a --- /dev/null +++ b/playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-basic/run.yaml @@ -0,0 +1,59 @@ +- hosts: all + name: Autoconverted job legacy-neutron-dynamic-routing-dsvm-tempest-scenario-basic + from old job gate-neutron-dynamic-routing-dsvm-tempest-scenario-basic-nv + 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_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_REGEX="^neutron_dynamic_routing.tests.tempest.scenario.basic\." + export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1 + export DEVSTACK_GATE_NEUTRON=1 + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export PROJECTS="openstack/neutron-dynamic-routing $PROJECTS" + export PROJECTS="openstack/neutron-tempest-plugin $PROJECTS" + DEVSTACK_LOCAL_CONFIG="NEUTRON_CREATE_INITIAL_NETWORKS=False" + DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-dynamic-routing git://git.openstack.org/openstack/neutron-dynamic-routing" + DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-tempest-plugin git://git.openstack.org/openstack/neutron-tempest-plugin" + if [ "basic" == "basic" ]; then + DEVSTACK_LOCAL_CONFIG+=$'\n'"BGP_SCHEDULER_DRIVER=neutron_dynamic_routing.services.bgp.scheduler.bgp_dragent_scheduler.ChanceScheduler" + fi + export DEVSTACK_LOCAL_CONFIG + + function gate_hook { + bash -xe $BASE/new/neutron-dynamic-routing/neutron_dynamic_routing/tests/contrib/gate_hook.sh dsvm-scenario + } + export -f gate_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-dynamic-routing-dsvm-tempest-scenario-ipv4/post.yaml b/playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv4/post.yaml new file mode 100644 index 00000000..dac87534 --- /dev/null +++ b/playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv4/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-dynamic-routing-dsvm-tempest-scenario-ipv4/run.yaml b/playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv4/run.yaml new file mode 100644 index 00000000..3f2bc40f --- /dev/null +++ b/playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv4/run.yaml @@ -0,0 +1,59 @@ +- hosts: all + name: Autoconverted job legacy-neutron-dynamic-routing-dsvm-tempest-scenario-ipv4 + from old job gate-neutron-dynamic-routing-dsvm-tempest-scenario-ipv4-nv + 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_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_REGEX="^neutron_dynamic_routing.tests.tempest.scenario.ipv4\." + export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1 + export DEVSTACK_GATE_NEUTRON=1 + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export PROJECTS="openstack/neutron-dynamic-routing $PROJECTS" + export PROJECTS="openstack/neutron-tempest-plugin $PROJECTS" + DEVSTACK_LOCAL_CONFIG="NEUTRON_CREATE_INITIAL_NETWORKS=False" + DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-dynamic-routing git://git.openstack.org/openstack/neutron-dynamic-routing" + DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-tempest-plugin git://git.openstack.org/openstack/neutron-tempest-plugin" + if [ "ipv4" == "basic" ]; then + DEVSTACK_LOCAL_CONFIG+=$'\n'"BGP_SCHEDULER_DRIVER=neutron_dynamic_routing.services.bgp.scheduler.bgp_dragent_scheduler.ChanceScheduler" + fi + export DEVSTACK_LOCAL_CONFIG + + function gate_hook { + bash -xe $BASE/new/neutron-dynamic-routing/neutron_dynamic_routing/tests/contrib/gate_hook.sh dsvm-scenario + } + export -f gate_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-dynamic-routing-dsvm-tempest-scenario-ipv6/post.yaml b/playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv6/post.yaml new file mode 100644 index 00000000..dac87534 --- /dev/null +++ b/playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv6/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-dynamic-routing-dsvm-tempest-scenario-ipv6/run.yaml b/playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv6/run.yaml new file mode 100644 index 00000000..6f641c0a --- /dev/null +++ b/playbooks/neutron-dynamic-routing-dsvm-tempest-scenario-ipv6/run.yaml @@ -0,0 +1,59 @@ +- hosts: all + name: Autoconverted job legacy-neutron-dynamic-routing-dsvm-tempest-scenario-ipv6 + from old job gate-neutron-dynamic-routing-dsvm-tempest-scenario-ipv6-nv + 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_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_REGEX="^neutron_dynamic_routing.tests.tempest.scenario.ipv6\." + export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1 + export DEVSTACK_GATE_NEUTRON=1 + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export PROJECTS="openstack/neutron-tempest-plugin $PROJECTS" + export PROJECTS="openstack/neutron-dynamic-routing $PROJECTS" + DEVSTACK_LOCAL_CONFIG="NEUTRON_CREATE_INITIAL_NETWORKS=False" + DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-dynamic-routing git://git.openstack.org/openstack/neutron-dynamic-routing" + DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-tempest-plugin git://git.openstack.org/openstack/neutron-tempest-plugin" + if [ "ipv6" == "basic" ]; then + DEVSTACK_LOCAL_CONFIG+=$'\n'"BGP_SCHEDULER_DRIVER=neutron_dynamic_routing.services.bgp.scheduler.bgp_dragent_scheduler.ChanceScheduler" + fi + export DEVSTACK_LOCAL_CONFIG + + function gate_hook { + bash -xe $BASE/new/neutron-dynamic-routing/neutron_dynamic_routing/tests/contrib/gate_hook.sh dsvm-scenario + } + export -f gate_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-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4/post.yaml b/playbooks/neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4/post.yaml new file mode 100644 index 00000000..dac87534 --- /dev/null +++ b/playbooks/neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4/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-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4/run.yaml b/playbooks/neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4/run.yaml new file mode 100644 index 00000000..c4e1e12e --- /dev/null +++ b/playbooks/neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4/run.yaml @@ -0,0 +1,64 @@ +- hosts: all + name: Autoconverted job legacy-neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4 + from old job gate-neutron-dynamic-routing-dsvm-tempest-with-ryu-master-scenario-ipv4-nv + 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_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_REGEX="^neutron_dynamic_routing.tests.tempest.scenario.ipv4\." + export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1 + export DEVSTACK_GATE_NEUTRON=1 + export BRANCH_OVERRIDE=default + if [[ "$BRANCH_OVERRIDE" != "default" ]] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export PROJECTS="openstack/neutron-dynamic-routing $PROJECTS" + export PROJECTS="openstack/neutron-tempest-plugin $PROJECTS" + DEVSTACK_LOCAL_CONFIG="NEUTRON_CREATE_INITIAL_NETWORKS=False" + DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-dynamic-routing git://git.openstack.org/openstack/neutron-dynamic-routing" + DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-tempest-plugin git://git.openstack.org/openstack/neutron-tempest-plugin" + if [[ "ipv4" == "basic" ]]; then + DEVSTACK_LOCAL_CONFIG+=$'\n'"BGP_SCHEDULER_DRIVER=neutron_dynamic_routing.services.bgp.scheduler.bgp_dragent_scheduler.ChanceScheduler" + fi + export DEVSTACK_LOCAL_CONFIG + + function gate_hook { + local ryu_path=$BASE/new/ryu_master + if [[ ! -d $ryu_path ]]; then + git clone https://github.com/osrg/ryu $ryu_path + fi + sudo pip install -e $ryu_path + bash -xe $BASE/new/neutron-dynamic-routing/neutron_dynamic_routing/tests/contrib/gate_hook.sh dsvm-scenario + } + export -f gate_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 }}'