From 14ee2bcc4ea8296fb906db731139cd948e9e1102 Mon Sep 17 00:00:00 2001 From: ghanshyam Date: Wed, 22 Nov 2017 03:28:21 +0000 Subject: [PATCH] Move zuulv3 jobs to project repo This patch moves the zuulv3 jobs for python novaclient. Needed-By: I1508933ef77669754adf8032fc3d835960f78cb7 Needed-By: I37b02be0aeffc3a0f0516616b5294444012b8dea Change-Id: I43a8435485751748ca6228f67d401945cb32652e --- .zuul.yaml | 33 ++++++++ .../post.yaml | 80 +++++++++++++++++++ .../run.yaml | 59 ++++++++++++++ .../post.yaml | 80 +++++++++++++++++++ .../run.yaml | 58 ++++++++++++++ 5 files changed, 310 insertions(+) create mode 100644 .zuul.yaml create mode 100644 playbooks/legacy/novaclient-dsvm-functional-identity-v3-only/post.yaml create mode 100644 playbooks/legacy/novaclient-dsvm-functional-identity-v3-only/run.yaml create mode 100644 playbooks/legacy/novaclient-dsvm-functional-neutron/post.yaml create mode 100644 playbooks/legacy/novaclient-dsvm-functional-neutron/run.yaml diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 000000000..94da1e955 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,33 @@ +- job: + name: novaclient-dsvm-functional-identity-v3-only + parent: legacy-dsvm-base + run: playbooks/legacy/novaclient-dsvm-functional-identity-v3-only/run.yaml + post-run: playbooks/legacy/novaclient-dsvm-functional-identity-v3-only/post.yaml + timeout: 7200 + voting: false + required-projects: + - openstack-infra/devstack-gate + - openstack/nova + - openstack/python-novaclient + +- job: + name: novaclient-dsvm-functional-neutron + parent: legacy-dsvm-base + run: playbooks/legacy/novaclient-dsvm-functional-neutron/run.yaml + post-run: playbooks/legacy/novaclient-dsvm-functional-neutron/post.yaml + timeout: 7200 + required-projects: + - openstack-infra/devstack-gate + - openstack/neutron + - openstack/nova + - openstack/python-novaclient + +- project: + name: openstack/python-novaclient + check: + jobs: + - novaclient-dsvm-functional-identity-v3-only + - novaclient-dsvm-functional-neutron + gate: + jobs: + - novaclient-dsvm-functional-neutron diff --git a/playbooks/legacy/novaclient-dsvm-functional-identity-v3-only/post.yaml b/playbooks/legacy/novaclient-dsvm-functional-identity-v3-only/post.yaml new file mode 100644 index 000000000..dac875340 --- /dev/null +++ b/playbooks/legacy/novaclient-dsvm-functional-identity-v3-only/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/novaclient-dsvm-functional-identity-v3-only/run.yaml b/playbooks/legacy/novaclient-dsvm-functional-identity-v3-only/run.yaml new file mode 100644 index 000000000..ca45b7365 --- /dev/null +++ b/playbooks/legacy/novaclient-dsvm-functional-identity-v3-only/run.yaml @@ -0,0 +1,59 @@ +- hosts: all + name: Autoconverted job legacy-novaclient-dsvm-functional-identity-v3-only from + old job gate-novaclient-dsvm-functional-identity-v3-only-ubuntu-xenial-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 BRANCH_OVERRIDE=default + export DEVSTACK_PROJECT_FROM_GIT=python-novaclient + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + # This ensures that if we set override branch to something + # else, we still take python-novaclient from the zuul branch + # name. So override branch can be 'stable/mitaka' but we can + # test master changes. + uc_project=`echo $DEVSTACK_PROJECT_FROM_GIT | tr [:lower:] [:upper:] | tr '-' '_' | sed 's/[^A-Z_]//'` + export "OVERRIDE_"$uc_project"_PROJECT_BRANCH"=$ZUUL_BRANCH + + function post_test_hook { + # Configure and run functional tests + $BASE/new/python-novaclient/novaclient/tests/functional/hooks/post_test_hook.sh + } + if [ "-identity-v3-only" == "-identity-v3-only" ] ; then + export DEVSTACK_LOCAL_CONFIG="ENABLE_IDENTITY_V2=False" + elif [ "-identity-v3-only" == "-neutron" ] ; then + export DEVSTACK_GATE_NEUTRON=1 + fi + 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/novaclient-dsvm-functional-neutron/post.yaml b/playbooks/legacy/novaclient-dsvm-functional-neutron/post.yaml new file mode 100644 index 000000000..dac875340 --- /dev/null +++ b/playbooks/legacy/novaclient-dsvm-functional-neutron/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/novaclient-dsvm-functional-neutron/run.yaml b/playbooks/legacy/novaclient-dsvm-functional-neutron/run.yaml new file mode 100644 index 000000000..fb13df180 --- /dev/null +++ b/playbooks/legacy/novaclient-dsvm-functional-neutron/run.yaml @@ -0,0 +1,58 @@ +- hosts: all + name: Autoconverted job legacy-novaclient-dsvm-functional-neutron from old job gate-novaclient-dsvm-functional-neutron-ubuntu-xenial + 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 BRANCH_OVERRIDE=default + export DEVSTACK_PROJECT_FROM_GIT=python-novaclient + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + # This ensures that if we set override branch to something + # else, we still take python-novaclient from the zuul branch + # name. So override branch can be 'stable/mitaka' but we can + # test master changes. + uc_project=`echo $DEVSTACK_PROJECT_FROM_GIT | tr [:lower:] [:upper:] | tr '-' '_' | sed 's/[^A-Z_]//'` + export "OVERRIDE_"$uc_project"_PROJECT_BRANCH"=$ZUUL_BRANCH + + function post_test_hook { + # Configure and run functional tests + $BASE/new/python-novaclient/novaclient/tests/functional/hooks/post_test_hook.sh + } + if [ "-neutron" == "-identity-v3-only" ] ; then + export DEVSTACK_LOCAL_CONFIG="ENABLE_IDENTITY_V2=False" + elif [ "-neutron" == "-neutron" ] ; then + export DEVSTACK_GATE_NEUTRON=1 + fi + 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 }}'