From c8c2ecb550ad39a1a4abeb591754ae1de79b3dd8 Mon Sep 17 00:00:00 2001 From: Mehdi Abaakouk Date: Mon, 15 Jan 2018 10:07:53 +0100 Subject: [PATCH] Add gating to the plugin Change-Id: Ibbbd82046119a59c09bcda93decab5f331dbfcfa --- .zuul.yaml | 25 ++++++ .../post.yaml | 80 +++++++++++++++++++ .../run.yaml | 57 +++++++++++++ .../integration/hooks/post_test_hook.sh | 2 +- 4 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 .zuul.yaml create mode 100644 playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/post.yaml create mode 100644 playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/run.yaml diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 0000000..116056b --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,25 @@ +- job: + name: telemetry-dsvm-integration-tempest-plugin + parent: legacy-dsvm-base + run: playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/run.yaml + post-run: playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/post.yaml + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/aodh + - openstack/ceilometer + - openstack/panko + - openstack/telemetry-tempest-plugin + # following are required when DEVSTACK_GATE_HEAT, which this + # job turns on + - openstack/dib-utils + - openstack/diskimage-builder + +- project: + name: openstack/telemetry-tempest-plugin + check: + jobs: + - telemetry-dsvm-integration-tempest-plugin + gate: + jobs: + - telemetry-dsvm-integration-tempest-plugin diff --git a/playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/post.yaml b/playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/post.yaml new file mode 100644 index 0000000..dac8753 --- /dev/null +++ b/playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/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/telemetry-dsvm-integration-tempest-plugin/run.yaml b/playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/run.yaml new file mode 100644 index 0000000..a2b851a --- /dev/null +++ b/playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/run.yaml @@ -0,0 +1,57 @@ +- hosts: all + name: Autoconverted job legacy-telemetry-dsvm-integration-ceilometer from old job + gate-telemetry-dsvm-integration-ceilometer-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 DEVSTACK_GATE_HEAT=1 + export DEVSTACK_GATE_NEUTRON=1 + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_EXERCISES=0 + export DEVSTACK_GATE_INSTALL_TESTONLY=1 + export DEVSTACK_GATE_TEMPEST_NOTESTS=1 + export PROJECTS="openstack/ceilometer openstack/aodh openstack/panko openstack/telemetry-tempest-plugin" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin panko git://git.openstack.org/openstack/panko" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin aodh git://git.openstack.org/openstack/aodh" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat git://git.openstack.org/openstack/heat" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin telemetry-tempest-plugin git://git.openstack.org/openstack/telemetry-tempest-plugin" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"CEILOMETER_BACKEND=gnocchi" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"GNOCCHI_ARCHIVE_POLICY=high" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"CEILOMETER_PIPELINE_INTERVAL=15" + export DEVSTACK_PROJECT_FROM_GIT=$ZUUL_SHORT_PROJECT_NAME + function post_test_hook { + cd /opt/stack/new/telemetry-tempest-plugin/telemetry_tempest_plugin/integration/hooks/ + ./post_test_hook.sh + } + 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/telemetry_tempest_plugin/integration/hooks/post_test_hook.sh b/telemetry_tempest_plugin/integration/hooks/post_test_hook.sh index ca3f5be..aaa3d47 100755 --- a/telemetry_tempest_plugin/integration/hooks/post_test_hook.sh +++ b/telemetry_tempest_plugin/integration/hooks/post_test_hook.sh @@ -84,7 +84,7 @@ sudo chown -R tempest:stack $BASE/new/tempest sudo chown -R tempest:stack $BASE/data/tempest cd $BASE/new/tempest set +e -sudo -H -u tempest OS_TEST_TIMEOUT=$TEMPEST_OS_TEST_TIMEOUT tox -eall-plugin -- telemetry_tempest_plugin.scenario.test_telemetry_integration --concurrency=$TEMPEST_CONCURRENCY +sudo -H -u tempest OS_TEST_TIMEOUT=$TEMPEST_OS_TEST_TIMEOUT tox -eall-plugin -- telemetry_tempest_plugin --concurrency=$TEMPEST_CONCURRENCY EXIT_CODE=$? set -e export_subunit_data "all-plugin"