From 6d29b8258f8ca65d0732bb4c8a04016783745332 Mon Sep 17 00:00:00 2001 From: Michael Johnson Date: Thu, 26 Oct 2017 16:00:46 -0700 Subject: [PATCH] Update Octavia zuulv3 for newton EOL This patch cleans up the zuul v3 config for the EOL of newton and migrates the functional tests to use openstack-tox parent. Change-Id: Id4a97e81d8664fd789776f1fa729d7b969ae0ffc --- .../octavia-tox-functional-py35/post.yaml | 67 --------------- .../octavia-tox-functional-py35/run.yaml | 86 ------------------- .../legacy/octavia-tox-functional/post.yaml | 67 --------------- .../legacy/octavia-tox-functional/run.yaml | 86 ------------------- zuul.d/jobs.yaml | 18 ++-- zuul.d/projects.yaml | 74 +++++++--------- 6 files changed, 36 insertions(+), 362 deletions(-) delete mode 100644 playbooks/legacy/octavia-tox-functional-py35/post.yaml delete mode 100644 playbooks/legacy/octavia-tox-functional-py35/run.yaml delete mode 100644 playbooks/legacy/octavia-tox-functional/post.yaml delete mode 100644 playbooks/legacy/octavia-tox-functional/run.yaml diff --git a/playbooks/legacy/octavia-tox-functional-py35/post.yaml b/playbooks/legacy/octavia-tox-functional-py35/post.yaml deleted file mode 100644 index 68fbdf81bf..0000000000 --- a/playbooks/legacy/octavia-tox-functional-py35/post.yaml +++ /dev/null @@ -1,67 +0,0 @@ -- 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 diff --git a/playbooks/legacy/octavia-tox-functional-py35/run.yaml b/playbooks/legacy/octavia-tox-functional-py35/run.yaml deleted file mode 100644 index 5cb32ec8f9..0000000000 --- a/playbooks/legacy/octavia-tox-functional-py35/run.yaml +++ /dev/null @@ -1,86 +0,0 @@ -- hosts: all - name: Autoconverted job legacy-octavia-tox-functional-py35 from old job gate-octavia-tox-functional-py35-ubuntu-xenial - tasks: - - - name: Ensure legacy workspace directory - file: - path: '{{ ansible_user_dir }}/workspace' - state: directory - - - shell: - cmd: | - set -e - set -x - CLONEMAP=`mktemp` - REQS_DIR=`mktemp -d` - function cleanup { - mkdir -p $WORKSPACE - rm -rf $CLONEMAP $REQS_DIR - } - trap cleanup EXIT - cat > $CLONEMAP << EOF - clonemap: - - name: $ZUUL_PROJECT - dest: . - EOF - # zuul cloner works poorly if there are 2 names that are the - # same in here. - if [[ "$ZUUL_PROJECT" != "openstack/requirements" ]]; then - cat >> $CLONEMAP << EOF - - name: openstack/requirements - dest: $REQS_DIR - EOF - fi - /usr/zuul-env/bin/zuul-cloner -m $CLONEMAP --cache-dir /opt/git \ - git://git.openstack.org $ZUUL_PROJECT openstack/requirements - # REQS_DIR is not set for openstack/requirements and there is also - # no need to copy in this case. - if [[ "$ZUUL_PROJECT" != "openstack/requirements" ]]; then - cp $REQS_DIR/upper-constraints.txt ./ - fi - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: /usr/local/jenkins/slave_scripts/install-distro-packages.sh - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - if [ -x tools/test-setup.sh ] ; then - tools/test-setup.sh - fi - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - set -x - sudo rm -f /etc/sudoers.d/zuul - # Prove that general sudo access is actually revoked - ! sudo -n true - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: /usr/local/jenkins/slave_scripts/run-tox.sh functional-py35 - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - OUT=`git ls-files --other --exclude-standard --directory` - if [ -z "$OUT" ]; then - echo "No extra files created during test." - exit 0 - else - echo "The following un-ignored files were created during the test:" - echo "$OUT" - exit 0 # TODO: change to 1 to fail tests. - fi - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/playbooks/legacy/octavia-tox-functional/post.yaml b/playbooks/legacy/octavia-tox-functional/post.yaml deleted file mode 100644 index 68fbdf81bf..0000000000 --- a/playbooks/legacy/octavia-tox-functional/post.yaml +++ /dev/null @@ -1,67 +0,0 @@ -- 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 diff --git a/playbooks/legacy/octavia-tox-functional/run.yaml b/playbooks/legacy/octavia-tox-functional/run.yaml deleted file mode 100644 index 39ef3ba43a..0000000000 --- a/playbooks/legacy/octavia-tox-functional/run.yaml +++ /dev/null @@ -1,86 +0,0 @@ -- hosts: all - name: Autoconverted job legacy-octavia-tox-functional from old job gate-octavia-tox-functional-ubuntu-xenial - tasks: - - - name: Ensure legacy workspace directory - file: - path: '{{ ansible_user_dir }}/workspace' - state: directory - - - shell: - cmd: | - set -e - set -x - CLONEMAP=`mktemp` - REQS_DIR=`mktemp -d` - function cleanup { - mkdir -p $WORKSPACE - rm -rf $CLONEMAP $REQS_DIR - } - trap cleanup EXIT - cat > $CLONEMAP << EOF - clonemap: - - name: $ZUUL_PROJECT - dest: . - EOF - # zuul cloner works poorly if there are 2 names that are the - # same in here. - if [[ "$ZUUL_PROJECT" != "openstack/requirements" ]]; then - cat >> $CLONEMAP << EOF - - name: openstack/requirements - dest: $REQS_DIR - EOF - fi - /usr/zuul-env/bin/zuul-cloner -m $CLONEMAP --cache-dir /opt/git \ - git://git.openstack.org $ZUUL_PROJECT openstack/requirements - # REQS_DIR is not set for openstack/requirements and there is also - # no need to copy in this case. - if [[ "$ZUUL_PROJECT" != "openstack/requirements" ]]; then - cp $REQS_DIR/upper-constraints.txt ./ - fi - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: /usr/local/jenkins/slave_scripts/install-distro-packages.sh - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - if [ -x tools/test-setup.sh ] ; then - tools/test-setup.sh - fi - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - set -x - sudo rm -f /etc/sudoers.d/zuul - # Prove that general sudo access is actually revoked - ! sudo -n true - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: /usr/local/jenkins/slave_scripts/run-tox.sh functional - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - OUT=`git ls-files --other --exclude-standard --directory` - if [ -z "$OUT" ]; then - echo "No extra files created during test." - exit 0 - else - echo "The following un-ignored files were created during the test:" - echo "$OUT" - exit 0 # TODO: change to 1 to fail tests. - fi - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index 92fba974b0..55a0fe4ced 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -1,20 +1,14 @@ - job: name: octavia-tox-functional - parent: legacy-base - run: playbooks/legacy/octavia-tox-functional/run - post-run: playbooks/legacy/octavia-tox-functional/post - timeout: 2400 - required-projects: - - openstack/requirements + parent: openstack-tox + vars: + tox_envlist: functional - job: name: octavia-tox-functional-py35 - parent: legacy-base - run: playbooks/legacy/octavia-tox-functional-py35/run - post-run: playbooks/legacy/octavia-tox-functional-py35/post - timeout: 2400 - required-projects: - - openstack/requirements + parent: openstack-tox + vars: + tox_envlist: functional-py35 - job: name: octavia-v1-dsvm-scenario diff --git a/zuul.d/projects.yaml b/zuul.d/projects.yaml index 23398e3ef6..e74f429bb4 100644 --- a/zuul.d/projects.yaml +++ b/zuul.d/projects.yaml @@ -4,32 +4,33 @@ name: openstack/octavia check: jobs: - - neutron-lbaasv2-dsvm-minimal: - branches: ^stable/newton - - neutron-lbaasv2-dsvm-loadbalancer: - branches: ^stable/newton - - neutron-lbaasv2-dsvm-listener: - branches: ^stable/newton - - neutron-lbaasv2-dsvm-pool: - branches: ^stable/newton - - neutron-lbaasv2-dsvm-member: - branches: ^stable/newton - - neutron-lbaasv2-dsvm-healthmonitor: - branches: ^stable/newton - - openstack-tox-cover - - neutron-lbaasv2-dsvm-api: - branches: ^(?!stable/newton).*$ + - neutron-lbaasv2-dsvm-api - neutron-lbaasv2-dsvm-py3x-api: - branches: ^(?!stable) + branches: ^(?!stable/ocata).*$ - neutron-lbaasv2-dsvm-scenario: voting: false + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ + - ^releasenotes/.*$ + - ^tempest/hacking/.*$ + - ^tempest/tests/.*$ - neutron-lbaasv2-dsvm-py3x-scenario: - branches: ^(?!stable) + branches: ^(?!stable/ocata).*$ voting: false - - octavia-tox-functional: - branches: ^(?!stable/newton).*$ + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ + - ^releasenotes/.*$ + - ^tempest/hacking/.*$ + - ^tempest/tests/.*$ + - octavia-tox-functional - octavia-tox-functional-py35: - branches: ^(?!stable/(newton|ocata)).*$ + branches: ^(?!stable/ocata).*$ - octavia-v1-dsvm-scenario: irrelevant-files: - ^.*\.rst$ @@ -40,7 +41,7 @@ - ^tempest/hacking/.*$ - ^tempest/tests/.*$ - octavia-v1-dsvm-py3x-scenario: - branches: ^(?!stable) + branches: ^(?!stable/ocata).*$ irrelevant-files: - ^.*\.rst$ - ^api-ref/.*$ @@ -50,7 +51,6 @@ - ^tempest/hacking/.*$ - ^tempest/tests/.*$ - octavia-v1-dsvm-scenario-multinode: - branches: ^(?!stable/newton).*$ irrelevant-files: - ^.*\.rst$ - ^api-ref/.*$ @@ -60,7 +60,7 @@ - ^tempest/hacking/.*$ - ^tempest/tests/.*$ - octavia-v1-dsvm-py3x-scenario-multinode: - branches: ^(?!stable) + branches: ^(?!stable/ocata).*$ irrelevant-files: - ^.*\.rst$ - ^api-ref/.*$ @@ -81,7 +81,7 @@ - ^tempest/tests/.*$ - octavia-v1-dsvm-scenario-lxd: voting: false - branches: ^(?!stable/(newton|ocata)).*$ + branches: ^(?!stable/ocata).*$ irrelevant-files: - ^.*\.rst$ - ^api-ref/.*$ @@ -93,21 +93,9 @@ gate: queue: octavia jobs: - - neutron-lbaasv2-dsvm-loadbalancer: - branches: ^stable/newton - - neutron-lbaasv2-dsvm-listener: - branches: ^stable/newton - - neutron-lbaasv2-dsvm-pool: - branches: ^stable/newton - - neutron-lbaasv2-dsvm-member: - branches: ^stable/newton - - neutron-lbaasv2-dsvm-healthmonitor: - branches: ^stable/newton - - openstack-tox-cover - - octavia-tox-functional: - branches: ^(?!stable/newton).*$ + - octavia-tox-functional - octavia-tox-functional-py35: - branches: ^(?!stable/(newton|ocata)).*$ + branches: ^(?!stable/ocata).*$ - octavia-v1-dsvm-scenario: irrelevant-files: - ^.*\.rst$ @@ -118,7 +106,7 @@ - ^tempest/hacking/.*$ - ^tempest/tests/.*$ - octavia-v1-dsvm-py3x-scenario: - branches: ^(?!stable) + branches: ^(?!stable/ocata).*$ irrelevant-files: - ^.*\.rst$ - ^api-ref/.*$ @@ -128,7 +116,6 @@ - ^tempest/hacking/.*$ - ^tempest/tests/.*$ - octavia-v1-dsvm-scenario-multinode: - branches: ^(?!stable/newton).*$ irrelevant-files: - ^.*\.rst$ - ^api-ref/.*$ @@ -138,7 +125,7 @@ - ^tempest/hacking/.*$ - ^tempest/tests/.*$ - octavia-v1-dsvm-py3x-scenario-multinode: - branches: ^(?!stable) + branches: ^(?!stable/ocata).*$ irrelevant-files: - ^.*\.rst$ - ^api-ref/.*$ @@ -147,7 +134,6 @@ - ^releasenotes/.*$ - ^tempest/hacking/.*$ - ^tempest/tests/.*$ - - neutron-lbaasv2-dsvm-api: - branches: ^(?!stable/newton).*$ + - neutron-lbaasv2-dsvm-api - neutron-lbaasv2-dsvm-py3x-api: - branches: ^(?!stable) + branches: ^(?!stable/ocata).*$