diff options
author | Andrea Frittoli (andreaf) <andrea.frittoli@gmail.com> | 2017-10-04 23:36:20 +0100 |
---|---|---|
committer | Andrea Frittoli (andreaf) <andrea.frittoli@gmail.com> | 2017-11-18 10:16:12 +0000 |
commit | e4fdd2fece0726dc28753e7dcd0a17972f7f5538 (patch) | |
tree | 2f0fd946fe463bc5a367e72bc3dce216e1d0826b /roles | |
parent | 299c25ae0129ec7d45baee9ce907cb198e3798d7 (diff) | |
download | tempest-e4fdd2fece0726dc28753e7dcd0a17972f7f5538.tar.gz |
Add role to build the stackviz report
Add a role to build the stackviz report and include it in the
tempest post play.
Change-Id: I085460fc7a4fe6baee2d85c8ab3ea3a2128ea54d
Diffstat (limited to 'roles')
-rw-r--r-- | roles/process-stackviz/README.rst | 22 | ||||
-rw-r--r-- | roles/process-stackviz/defaults/main.yaml | 3 | ||||
-rw-r--r-- | roles/process-stackviz/tasks/main.yaml | 63 |
3 files changed, 88 insertions, 0 deletions
diff --git a/roles/process-stackviz/README.rst b/roles/process-stackviz/README.rst new file mode 100644 index 000000000..b05326d40 --- /dev/null +++ b/roles/process-stackviz/README.rst @@ -0,0 +1,22 @@ +Generate stackviz report. + +Generate stackviz report using subunit and dstat data, using +the stackviz archive embedded in test images. + +**Role Variables** + +.. zuul:rolevar:: devstack_base_dir + :default: /opt/stack + + The devstack base directory. + +.. zuul:rolevar:: stage_dir + :default: /opt/stack/logs + + The stage directory where the input data can be found and + the output will be produced. + +.. zuul:rolevar:: test_results_stage_name + :default: test_results + + The name of the subunit file to be used as input. diff --git a/roles/process-stackviz/defaults/main.yaml b/roles/process-stackviz/defaults/main.yaml new file mode 100644 index 000000000..b1eb8d9c7 --- /dev/null +++ b/roles/process-stackviz/defaults/main.yaml @@ -0,0 +1,3 @@ +devstack_base_dir: /opt/stack +stage_dir: /opt/stack/ +test_results_stage_name: test_results diff --git a/roles/process-stackviz/tasks/main.yaml b/roles/process-stackviz/tasks/main.yaml new file mode 100644 index 000000000..09de60642 --- /dev/null +++ b/roles/process-stackviz/tasks/main.yaml @@ -0,0 +1,63 @@ +- name: Check 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: "{{ stage_dir }}/{{ test_results_stage_name }}.subunit" + register: subunit_input + +- debug: + msg: "Subunit file could not be found at {{ stage_dir }}/{{ test_results_stage_name }}.subunit" + when: not subunit_input.stat.exists + +- name: Install stackviz + pip: + name: "file://{{ stackviz_archive.stat.path }}" + virtualenv: /tmp/stackviz + extra_args: -U + when: + - stackviz_archive.stat.exists + - subunit_input.stat.exists + +- 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 |