summaryrefslogtreecommitdiffstats
path: root/qtip/ansible_library/plugins/action/calculate.py
diff options
context:
space:
mode:
Diffstat (limited to 'qtip/ansible_library/plugins/action/calculate.py')
-rw-r--r--qtip/ansible_library/plugins/action/calculate.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/qtip/ansible_library/plugins/action/calculate.py b/qtip/ansible_library/plugins/action/calculate.py
index f88729b7..fade367f 100644
--- a/qtip/ansible_library/plugins/action/calculate.py
+++ b/qtip/ansible_library/plugins/action/calculate.py
@@ -10,6 +10,7 @@
##############################################################################
from numpy import mean
+import yaml
from ansible.plugins.action import ActionBase
from ansible.utils.display import Display
@@ -28,7 +29,9 @@ class ActionModule(ActionBase):
if result.get('skipped', False):
return result
- spec = self._task.args.get('spec')
+ with open(self._task.args.get('spec')) as stream:
+ spec = yaml.safe_load(stream)
+
metrics = self._task.args.get('metrics')
return calc_qpi(spec, metrics)
@@ -42,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,