Make stackviz tasks not to fail jobs
Due to issue on stckviz side, job start
failing with POST_FAILURE. If we fix the
issue still we need to wait for periodic job
periodic-package-stackviz-element to publish
the latest tarball on https://tarballs.openstack.org/stackviz/dist/.
Let's not fail the job for any issue occur during
stackviz processing.
Closes-Bug: 1863161
Change-Id: Ifee04f28ecee52e74803f1623aba5cfe5ee5ec90
diff --git a/roles/process-stackviz/tasks/main.yaml b/roles/process-stackviz/tasks/main.yaml
index c51c66c..3ba3d9c 100644
--- a/roles/process-stackviz/tasks/main.yaml
+++ b/roles/process-stackviz/tasks/main.yaml
@@ -1,70 +1,73 @@
-- name: Devstack checks if stackviz archive exists
- stat:
- path: "/opt/cache/files/stackviz-latest.tar.gz"
- register: stackviz_archive
-
-- debug:
- msg: "Stackviz archive could not be found in /opt/cache/files/stackviz-latest.tar.gz"
- when: not stackviz_archive.stat.exists
-
-- name: Check if subunit data exists
- stat:
- path: "{{ zuul_work_dir }}/testrepository.subunit"
- register: subunit_input
-
-- debug:
- msg: "Subunit file could not be found at {{ zuul_work_dir }}/testrepository.subunit"
- when: not subunit_input.stat.exists
-
-- name: Install stackviz
- when:
- - stackviz_archive.stat.exists
- - subunit_input.stat.exists
+- name: Process Stackviz
block:
- - include_role:
- name: ensure-pip
- - pip:
- name: "file://{{ stackviz_archive.stat.path }}"
- virtualenv: /tmp/stackviz
- virtualenv_command: '{{ ensure_pip_virtualenv_command }}'
- extra_args: -U
+ - name: Devstack checks if stackviz archive exists
+ stat:
+ path: "/opt/cache/files/stackviz-latest.tar.gz"
+ register: stackviz_archive
-- name: Deploy stackviz static html+js
- command: cp -pR /tmp/stackviz/share/stackviz-html {{ stage_dir }}/stackviz
- when:
- - stackviz_archive.stat.exists
- - subunit_input.stat.exists
+ - debug:
+ msg: "Stackviz archive could not be found in /opt/cache/files/stackviz-latest.tar.gz"
+ when: not stackviz_archive.stat.exists
-- name: Check if dstat data exists
- stat:
- path: "{{ devstack_base_dir }}/logs/dstat-csv.log"
- register: dstat_input
- when:
- - stackviz_archive.stat.exists
- - subunit_input.stat.exists
+ - name: Check if subunit data exists
+ stat:
+ path: "{{ zuul_work_dir }}/testrepository.subunit"
+ register: subunit_input
-- name: Run stackviz with dstat
- shell: |
- cat {{ subunit_input.stat.path }} | \
- /tmp/stackviz/bin/stackviz-export \
- --dstat "{{ devstack_base_dir }}/logs/dstat-csv.log" \
- --env --stdin \
- {{ stage_dir }}/stackviz/data
- when:
- - stackviz_archive.stat.exists
- - subunit_input.stat.exists
- - dstat_input.stat.exists
- failed_when: False
+ - debug:
+ msg: "Subunit file could not be found at {{ zuul_work_dir }}/testrepository.subunit"
+ when: not subunit_input.stat.exists
-- name: Run stackviz without dstat
- shell: |
- cat {{ subunit_input.stat.path }} | \
- /tmp/stackviz/bin/stackviz-export \
- --env --stdin \
- {{ stage_dir }}/stackviz/data
- when:
- - stackviz_archive.stat.exists
- - subunit_input.stat.exists
- - not dstat_input.stat.exists
- failed_when: False
+ - name: Install stackviz
+ when:
+ - stackviz_archive.stat.exists
+ - subunit_input.stat.exists
+ block:
+ - include_role:
+ name: ensure-pip
+
+ - pip:
+ name: "file://{{ stackviz_archive.stat.path }}"
+ virtualenv: /tmp/stackviz
+ virtualenv_command: '{{ ensure_pip_virtualenv_command }}'
+ extra_args: -U
+
+ - name: Deploy stackviz static html+js
+ command: cp -pR /tmp/stackviz/share/stackviz-html {{ stage_dir }}/stackviz
+ when:
+ - stackviz_archive.stat.exists
+ - subunit_input.stat.exists
+
+ - name: Check if dstat data exists
+ stat:
+ path: "{{ devstack_base_dir }}/logs/dstat-csv.log"
+ register: dstat_input
+ when:
+ - stackviz_archive.stat.exists
+ - subunit_input.stat.exists
+
+ - name: Run stackviz with dstat
+ shell: |
+ cat {{ subunit_input.stat.path }} | \
+ /tmp/stackviz/bin/stackviz-export \
+ --dstat "{{ devstack_base_dir }}/logs/dstat-csv.log" \
+ --env --stdin \
+ {{ stage_dir }}/stackviz/data
+ when:
+ - stackviz_archive.stat.exists
+ - subunit_input.stat.exists
+ - dstat_input.stat.exists
+
+ - name: Run stackviz without dstat
+ shell: |
+ cat {{ subunit_input.stat.path }} | \
+ /tmp/stackviz/bin/stackviz-export \
+ --env --stdin \
+ {{ stage_dir }}/stackviz/data
+ when:
+ - stackviz_archive.stat.exists
+ - subunit_input.stat.exists
+ - not dstat_input.stat.exists
+
+ ignore_errors: yes