summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qtip/ansible_library/plugins/action/aggregate.py2
-rw-r--r--qtip/ansible_library/plugins/action/calculate.py4
-rw-r--r--tests/integration/run.yaml21
-rw-r--r--tests/unit/ansible_library/plugins/action/calculate_test.py2
4 files changed, 26 insertions, 3 deletions
diff --git a/qtip/ansible_library/plugins/action/aggregate.py b/qtip/ansible_library/plugins/action/aggregate.py
index 907fa775..6e280419 100644
--- a/qtip/ansible_library/plugins/action/aggregate.py
+++ b/qtip/ansible_library/plugins/action/aggregate.py
@@ -32,5 +32,5 @@ class ActionModule(ActionBase):
def aggregate(group, task_vars):
qpi_results = [task_vars['hostvars'][host]['qpi_result'] for host in task_vars['groups'][group]]
return {
- 'score': mean([r['score'] for r in qpi_results])
+ 'score': int(mean([r['score'] for r in qpi_results]))
}
diff --git a/qtip/ansible_library/plugins/action/calculate.py b/qtip/ansible_library/plugins/action/calculate.py
index ac7f10f2..fade367f 100644
--- a/qtip/ansible_library/plugins/action/calculate.py
+++ b/qtip/ansible_library/plugins/action/calculate.py
@@ -45,8 +45,10 @@ def calc_qpi(qpi_spec, metrics):
section_results = [{'name': s['name'], 'result': calc_section(s, metrics)}
for s in qpi_spec['sections']]
+
# TODO(yujunz): use formula in spec
- qpi_score = mean([r['result']['score'] for r in section_results])
+ standard_score = 2048
+ qpi_score = int(mean([r['result']['score'] for r in section_results]) * standard_score)
return {
'spec': qpi_spec,
'score': qpi_score,
diff --git a/tests/integration/run.yaml b/tests/integration/run.yaml
index eb1bab88..7545a65e 100644
--- a/tests/integration/run.yaml
+++ b/tests/integration/run.yaml
@@ -57,3 +57,24 @@
src: "{{ qtip_resources }}/template/qpi-report.j2"
dest: "{{ qtip_reports }}/qpi-report"
tags: [report]
+ - 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]
diff --git a/tests/unit/ansible_library/plugins/action/calculate_test.py b/tests/unit/ansible_library/plugins/action/calculate_test.py
index ae163102..3b34d9f5 100644
--- a/tests/unit/ansible_library/plugins/action/calculate_test.py
+++ b/tests/unit/ansible_library/plugins/action/calculate_test.py
@@ -67,7 +67,7 @@ def section_result(metric_result):
@pytest.fixture()
def qpi_result(qpi_spec, section_result, metrics):
- return {'score': 1.0,
+ return {'score': 2048,
'spec': qpi_spec,
'metrics': metrics,
'section_results': [{'name': 'ssl', 'result': section_result}]}