summaryrefslogtreecommitdiffstats
path: root/testing-scheduler/server/src/step/monitor.py
diff options
context:
space:
mode:
authorYang (Gabriel) Yu <Gabriel.yuyang@huawei.com>2018-09-04 10:53:12 +0000
committerGerrit Code Review <gerrit@opnfv.org>2018-09-04 10:53:12 +0000
commit35678a1b029eb8818cb3d274444728ffe9a5c3a7 (patch)
tree7110e737ac30900450b464928fcf31f3a235b0df /testing-scheduler/server/src/step/monitor.py
parent2d8f9b87e4e79b8bcba2dc92448e8850322182b1 (diff)
parent1c1cbbf6df7f30ecb807a0a09924072a59bd2071 (diff)
Merge "parser script and step class in backend code of testing-scheduler"
Diffstat (limited to 'testing-scheduler/server/src/step/monitor.py')
-rw-r--r--testing-scheduler/server/src/step/monitor.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/testing-scheduler/server/src/step/monitor.py b/testing-scheduler/server/src/step/monitor.py
new file mode 100644
index 00000000..6deb9e2e
--- /dev/null
+++ b/testing-scheduler/server/src/step/monitor.py
@@ -0,0 +1,57 @@
+##############################################################################
+# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD 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 json
+import os
+from src.step.test_step import TestStep
+
+
+class MonitorStep(TestStep):
+ __step_type__ = 'monitor'
+
+ def __init__(self, name, service, action, args):
+ super(MonitorStep, self).__init__(name, service, action, args)
+ self._argsParse()
+ self.action()
+
+ def _argsParse(self):
+ if self._call == "REST":
+ currentDirPath = os.path.dirname(os.path.abspath(__file__))
+ envDirPath = os.path.abspath(os.path.join(
+ currentDirPath, os.pardir, os.pardir, 'env'))
+ envFilePath = os.path.join(
+ envDirPath, "%s.json" % self._service['name'])
+ with open(envFilePath) as f:
+ propDict = json.load(f)
+ self._args['ip'] = propDict['ip']
+ self._args['port'] = propDict['port']
+ self._args['api'] = "%s/%s" % (
+ propDict['api_map']['workload'], self._args['command'])
+ exclude = {'ip', 'port', 'api', 'command', 'method'}
+ self._args['req_body'] = {
+ key: value for key, value in
+ self._args.items() if key not in exclude}
+
+ def setUp(self):
+ print "monitor setUp"
+
+ def uninstall(self):
+ print "monitor uninstall"
+
+ def start(self):
+ print "monitor start...."
+
+ def stop(self):
+ print "monitor stop"
+
+
+if __name__ == "__main__":
+ service = {"name": "ansible", "call": "REST"}
+ monitor = MonitorStep(
+ "monitor_cpu", service, "start", **{"target": "abc:qq"})