From cf0b4338abd0dc4f8a835440db7c662a37e92911 Mon Sep 17 00:00:00 2001 From: "zhifeng.jiang" Date: Sat, 3 Sep 2016 16:30:42 +0800 Subject: Call ansible playbook by ansible api instead of os.system JIRA:QTIP-99 Change-Id: Ife53a48d4af1fd3c60efc0673611321b3bc487a7 Signed-off-by: zhifeng.jiang --- func/driver.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'func/driver.py') diff --git a/func/driver.py b/func/driver.py index 63a9c369..4ce402a4 100644 --- a/func/driver.py +++ b/func/driver.py @@ -7,8 +7,8 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## import os -import json import logging +from func.ansible_api import AnsibleApi class Driver: @@ -54,12 +54,12 @@ class Driver: return special_json def run_ansible_playbook(self, benchmark, extra_vars): - extra_vars_json = json.dumps(dict(extra_vars.items())) - logging.info(extra_vars_json) - run_play = 'ansible-playbook ./benchmarks/playbooks/{0}.yaml' \ - ' --private-key=./data/QtipKey -i ./data/hosts --extra-vars \'{1}\'' \ - .format(benchmark, extra_vars_json) - os.system(run_play) + logging.info(extra_vars) + ansible_api = AnsibleApi() + ansible_api.execute_playbook('./data/hosts', + './benchmarks/playbooks/{0}.yaml'.format(benchmark), + './data/QtipKey', extra_vars) + return ansible_api.get_detail_playbook_stats() def drive_bench(self, benchmark, roles, benchmark_fname, benchmark_detail=None, pip_dict=None, proxy_info=None): -- cgit 1.2.3-korg