From 72cda78cdfb42b75878d99db2a02920e3961bb29 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Mon, 17 Sep 2018 21:25:12 +0200 Subject: [PATCH] Import zaqarclient-dsvm-functional job Import the job from openstack-zuul-jobs and rename it according to naming rules. Add some cleanups: * Sort list of templates alphabetically * Use lower-constraints template instead of jobs Change-Id: Ie1f8ee875e19652799944801e8ed292faeb8da8f --- .zuul.yaml | 22 +++-- .../zaqarclient-dsvm-functional/post.yaml | 80 +++++++++++++++++++ .../zaqarclient-dsvm-functional/run.yaml | 74 +++++++++++++++++ 3 files changed, 171 insertions(+), 5 deletions(-) create mode 100644 playbooks/zaqarclient-dsvm-functional/post.yaml create mode 100644 playbooks/zaqarclient-dsvm-functional/run.yaml diff --git a/.zuul.yaml b/.zuul.yaml index b7c17947..69f3019c 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,17 +1,29 @@ +- job: + name: python-zaqarclient-functional + parent: legacy-dsvm-base + run: playbooks/zaqarclient-dsvm-functional/run.yaml + post-run: playbooks/zaqarclient-dsvm-functional/post.yaml + timeout: 6000 + required-projects: + - openstack-infra/devstack-gate + - openstack/python-zaqarclient + - openstack/zaqar + - openstack/zaqar-tempest-plugin + - openstack/zaqar-ui + - project: templates: + - check-requirements + - openstack-lower-constraints-jobs - openstack-python-jobs - openstack-python35-jobs - openstack-python36-jobs - - check-requirements - openstackclient-plugin-jobs - publish-openstack-docs-pti - release-notes-jobs-python3 check: jobs: - - openstack-tox-lower-constraints - - legacy-zaqarclient-dsvm-functional + - python-zaqarclient-functional gate: jobs: - - openstack-tox-lower-constraints - - legacy-zaqarclient-dsvm-functional + - python-zaqarclient-functional diff --git a/playbooks/zaqarclient-dsvm-functional/post.yaml b/playbooks/zaqarclient-dsvm-functional/post.yaml new file mode 100644 index 00000000..dac87534 --- /dev/null +++ b/playbooks/zaqarclient-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/zaqarclient-dsvm-functional/run.yaml b/playbooks/zaqarclient-dsvm-functional/run.yaml new file mode 100644 index 00000000..0eeb2ddc --- /dev/null +++ b/playbooks/zaqarclient-dsvm-functional/run.yaml @@ -0,0 +1,74 @@ +- hosts: all + name: Autoconverted job legacy-zaqarclient-dsvm-functional from old job gate-zaqarclient-dsvm-functional-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 + cat << 'EOF' >>"/tmp/dg-local.conf" + [[local|localrc]] + enable_plugin zaqar git://git.openstack.org/openstack/zaqar + # Enable Zaqar Tempest Plugin + TEMPEST_PLUGINS='/opt/stack/new/zaqar-tempest-plugin' + + EOF + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export PROJECTS="openstack/python-zaqarclient $PROJECTS" + export PROJECTS="openstack/zaqar-ui $PROJECTS" + export PYTHONUNBUFFERED=true + export FUNCTEST_TIMEOUT=30 + export DEVSTACK_GATE_ZAQAR=1 + export DEVSTACK_GATE_TEMPEST=0 + export DEVSTACK_GATE_EXERCISES=0 + export DEVSTACK_GATE_INSTALL_TESTONLY=1 + export ENABLED_SERVICES=mysql,key,tempest + export DEVSTACK_GATE_TEMPEST_REGEX="zaqar_tempest_plugin.tests" + export BRANCH_OVERRIDE=default + + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + + export PROJECTS="openstack/zaqar-tempest-plugin $PROJECTS" + export ZAQARCLIENT_AUTH_FUNCTIONAL=1 + export ZAQARCLIENT_TEST_FUNCTIONAL=1 + function post_test_hook { + cd /opt/stack/new/python-zaqarclient + nosetests tests.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 }}'