diff options
Diffstat (limited to 'qtip/ansible_library/plugins/action/calculate.py')
-rw-r--r-- | qtip/ansible_library/plugins/action/calculate.py | 9 |
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, |