aboutsummaryrefslogtreecommitdiffstats
path: root/func/driver.py
diff options
context:
space:
mode:
Diffstat (limited to 'func/driver.py')
-rw-r--r--func/driver.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/func/driver.py b/func/driver.py
new file mode 100644
index 00000000..33dbe320
--- /dev/null
+++ b/func/driver.py
@@ -0,0 +1,60 @@
+##############################################################################
+# Copyright (c) 2015 Dell Inc 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
+##############################################################################
+import os
+import json
+from collections import defaultdict
+
+
+class Driver:
+
+ def __init__(self):
+
+ print "Class driver initialized\n"
+ print os.environ['PWD']
+ self.dic_json = defaultdict()
+
+ def drive_bench(self, benchmark, roles, benchmark_fname, benchmark_detail=None, pip_dict=None, proxy_info=None):
+ roles = sorted(roles)
+ pip_dict = sorted(pip_dict)
+ result_dir = 'results'
+ benchmark_name = benchmark + '.yaml'
+ self.dic_json['Dest_dir'] = str(result_dir)
+ self.dic_json['ip1'] = ''
+ self.dic_json['ip2'] = ''
+ self.dic_json['installer'] = str(os.environ['INSTALLER_TYPE'])
+ self.dic_json['workingdir'] = str(os.environ['PWD'])
+ self.dic_json['fname'] = str(benchmark_fname)
+ self.dic_json['username'] = str('root')
+
+ for key in proxy_info.keys():
+ self.dic_json[key] = proxy_info[key]
+
+ if os.environ['INSTALLER_TYPE'] == str('joid'):
+ self.dic_json['username'] = str('ubuntu')
+ if os.environ['INSTALLER_TYPE'] == str('apex'):
+ self.dic_json['username'] = str('heat-admin')
+ for k, v in benchmark_detail:
+ self.dic_json[k] = v
+ for k, v in roles:
+ self.dic_json['role'] = k
+ index = 1
+ if benchmark_detail is not None:
+ for values in v:
+ if k == '1-server':
+ print values, 'saving IP'
+ self.dic_json['ip' + str(index)] = str(values)
+ if pip_dict[0][1][0]:
+ self.dic_json['privateip' + str(index)] = pip_dict[0][1]
+ if not pip_dict[0][1][0]:
+ self.dic_json['privateip' + str(index)] = 'NONE'
+ index = index + 1
+ dic_json = json.dumps(dict(self.dic_json.items()))
+ print dic_json
+ run_play = 'ansible-playbook ./benchmarks/playbooks/{0} --private-key=./data/QtipKey -i ./data/hosts --extra-vars \'{1}\''.format(benchmark_name, dic_json)
+ os.system(run_play)