summaryrefslogtreecommitdiffstats
path: root/resources/roles/qtip-workspace/files/copy/run.yml
diff options
context:
space:
mode:
authorYujun Zhang <zhang.yujunz@zte.com.cn>2017-04-20 20:58:13 +0800
committerYujun Zhang <zhang.yujunz@zte.com.cn>2017-04-21 13:43:50 +0800
commit9222ecb462099f667d78494f4886d6c84f8a2310 (patch)
tree695f9c4448b9a6ba637f33c8feabce0efa46f5bd /resources/roles/qtip-workspace/files/copy/run.yml
parent441dea324dc2442b746528e0337a539c18b85b2f (diff)
Reorganize benchmarking tasks into ansible roles which helps to
- group task with related templates and variables - simplify the main playbook to improve readability See: http://docs.ansible.com/ansible/playbooks_roles.html Change-Id: I9d3180edaac83ee9dba85ce5ac14ff574af7a905 Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
Diffstat (limited to 'resources/roles/qtip-workspace/files/copy/run.yml')
-rw-r--r--resources/roles/qtip-workspace/files/copy/run.yml109
1 files changed, 109 insertions, 0 deletions
diff --git a/resources/roles/qtip-workspace/files/copy/run.yml b/resources/roles/qtip-workspace/files/copy/run.yml
new file mode 100644
index 00000000..ddac875c
--- /dev/null
+++ b/resources/roles/qtip-workspace/files/copy/run.yml
@@ -0,0 +1,109 @@
+##############################################################################
+# Copyright (c) 2017 ZTE Corporation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+# Execute compute benchmark plan and collect data
+# - system information
+# - test condition
+# - performance metrics
+
+- hosts: compute
+
+ pre_tasks:
+ - name: check ssh connection
+ ping:
+
+ roles:
+ - development-tools
+
+ post_tasks:
+ - name: create dumping directories
+ file:
+ path: "{{ qtip_dump }}/{{ inventory_hostname }}"
+ state: directory
+ delegate_to: localhost
+
+ tags: [setup]
+
+
+- hosts: compute
+
+ roles:
+
+ - { role: inxi, tags: [inxi, sysinfo] }
+ - { role: unixbench, tags: [unixbench, float, int] }
+ - { role: openssl, tags: [openssl, ssl]}
+ - { role: nDPI, tags: [ndpi, dpi]}
+ - { role: ramspeed, tags: [ramspeed, mem]}
+
+ post_tasks:
+ - name: calculate QPI of compute
+ calculate:
+ metrics:
+ ssl_rsa: "{{ openssl_rsa_metrics }}"
+ spec: "{{ qtip_resources }}/QPI/compute.yaml"
+ register: qpi_result
+ delegate_to: localhost
+ tags: [calculate]
+
+
+- hosts: localhost
+
+ tasks:
+
+ - name: aggregate QPI results from all tested nodes
+ aggregate:
+ group: compute
+ register: pod_result
+
+ # Generate and publish report
+
+ - name: create report folder
+ file:
+ path: "{{ qtip_reports }}"
+ state: directory
+
+ - name: create system information report
+ template:
+ src: "{{ qtip_resources }}/template/system-info.j2"
+ dest: "{{ qtip_reports }}/system-info"
+
+ - name: create qpi report
+ template:
+ src: "{{ qtip_resources }}/template/qpi-report.j2"
+ dest: "{{ qtip_reports }}/qpi-report"
+ tags: [report]
+
+ - name: create dpi metrics report
+ template:
+ src: "{{ qtip_resources }}/template/dpi-metrics.j2"
+ dest: "{{ qtip_reports }}/dpi-metrics"
+ tags: [report, dpi]
+
+ - name: push result to testapi
+ uri:
+ url: "{{ testapi_url }}/results"
+ body: "{{ item|to_json }}"
+ method: POST
+ body_format: json
+ status_code: 200
+ with_items:
+ -
+ project_name: "{{ project_name }}"
+ case_name: "{{ case_name }}"
+ pod_name: "{{ pod_name }}"
+ installer: "{{ installer }}"
+ version: "{{ version }}"
+ scenario: "{{ scenario }}"
+ start_date: "{{ ansible_date_time.date }}"
+ stop_date: "{{ ansible_date_time.date }}"
+ criteria: ""
+ details: "{{ pod_result }}"
+
+ tags: [testapi]