From 3242a57a15eadac35201d90616b30de52639aa4a Mon Sep 17 00:00:00 2001 From: Jakub Libosvar Date: Mon, 14 May 2018 14:40:05 +0200 Subject: [PATCH] python3: Add experimental jobs for functional and fullstack As part of community goal to have services working with Python 3.5, this patch adds back the exeperimental Python 3.5 functional and fullstack jobs that got lost somewhere during zuul v3 migration. Change-Id: I24506b94f3f4e111b3968e57deb683e9c874941c --- .zuul.yaml | 36 +++++++++ .../neutron-fullstack-python35/post.yaml | 80 +++++++++++++++++++ .../neutron-fullstack-python35/run.yaml | 54 +++++++++++++ .../neutron-functional-python35/post.yaml | 80 +++++++++++++++++++ .../neutron-functional-python35/run.yaml | 54 +++++++++++++ 5 files changed, 304 insertions(+) create mode 100644 playbooks/legacy/neutron-fullstack-python35/post.yaml create mode 100644 playbooks/legacy/neutron-fullstack-python35/run.yaml create mode 100644 playbooks/legacy/neutron-functional-python35/post.yaml create mode 100644 playbooks/legacy/neutron-functional-python35/run.yaml diff --git a/.zuul.yaml b/.zuul.yaml index 07fc78dc558..a7d381c78bf 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -30,6 +30,10 @@ - neutron-functional - neutron-tempest-postgres-full - neutron-tempest-with-ryu-master + experimental: + jobs: + - neutron-functional-python35 + - neutron-fullstack-python35 - job: name: neutron-functional @@ -46,6 +50,22 @@ - ^neutron/locale/.*$ - ^releasenotes/.*$ +- job: + name: neutron-functional-python35 + parent: legacy-dsvm-base + run: playbooks/legacy/neutron-functional-python35/run.yaml + post-run: playbooks/legacy/neutron-functional-python35/post.yaml + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/neutron + irrelevant-files: + - ^.*\.rst$ + - ^doc/.*$ + - ^neutron/locale/.*$ + - ^releasenotes/.*$ + voting: false + - job: name: neutron-fullstack parent: legacy-dsvm-base @@ -61,6 +81,22 @@ - ^neutron/locale/.*$ - ^releasenotes/.*$ +- job: + name: neutron-fullstack-python35 + parent: legacy-dsvm-base + run: playbooks/legacy/neutron-fullstack-python35/run.yaml + post-run: playbooks/legacy/neutron-fullstack-python35/post.yaml + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/neutron + irrelevant-files: + - ^.*\.rst$ + - ^doc/.*$ + - ^neutron/locale/.*$ + - ^releasenotes/.*$ + voting: false + - job: name: neutron-rally-neutron parent: legacy-dsvm-base diff --git a/playbooks/legacy/neutron-fullstack-python35/post.yaml b/playbooks/legacy/neutron-fullstack-python35/post.yaml new file mode 100644 index 00000000000..dac875340aa --- /dev/null +++ b/playbooks/legacy/neutron-fullstack-python35/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/legacy/neutron-fullstack-python35/run.yaml b/playbooks/legacy/neutron-fullstack-python35/run.yaml new file mode 100644 index 00000000000..e944cbd42ba --- /dev/null +++ b/playbooks/legacy/neutron-fullstack-python35/run.yaml @@ -0,0 +1,54 @@ +- hosts: all + name: This is a Neutron Fullstack test suite running with Python 3.5 + 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=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 + + function gate_hook { + bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh dsvm-fullstack-python35 + } + export -f gate_hook + + function post_test_hook { + bash -xe $BASE/new/neutron/neutron/tests/contrib/post_test_hook.sh dsvm-fullstack-python35 + } + 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/legacy/neutron-functional-python35/post.yaml b/playbooks/legacy/neutron-functional-python35/post.yaml new file mode 100644 index 00000000000..dac875340aa --- /dev/null +++ b/playbooks/legacy/neutron-functional-python35/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/legacy/neutron-functional-python35/run.yaml b/playbooks/legacy/neutron-functional-python35/run.yaml new file mode 100644 index 00000000000..062c19c51d7 --- /dev/null +++ b/playbooks/legacy/neutron-functional-python35/run.yaml @@ -0,0 +1,54 @@ +- hosts: all + name: Neutron functional test suite running with Python 3.5 + 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=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 + + function gate_hook { + bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh dsvm-functional-python35 + } + export -f gate_hook + + function post_test_hook { + bash -xe $BASE/new/neutron/neutron/tests/contrib/post_test_hook.sh dsvm-functional-python35 + } + 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 }}'