summaryrefslogtreecommitdiffstats
path: root/yardstick
diff options
context:
space:
mode:
authorchenjiankun <chenjiankun1@huawei.com>2016-11-28 01:51:47 +0000
committerchenjiankun <chenjiankun1@huawei.com>2016-11-30 03:05:23 +0000
commitc383ae3fa6ccb865575eacf78209fdd3ac7efa69 (patch)
treebe26b8357aa7a8c6af162dfe3beb61503efbda36 /yardstick
parent893294646833bed300586ee36040d4fde3c20842 (diff)
Create API and command to create a influxDB container
JIRA: YARDSTICK-425 This API is used to create a influxDB Container Add command line to create a influxDB Container, too Change-Id: If9c2d04b779924d492a5d5ea91f7968fa959570e Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
Diffstat (limited to 'yardstick')
-rw-r--r--yardstick/cmd/cli.py4
-rw-r--r--yardstick/cmd/commands/env.py17
-rw-r--r--yardstick/common/constants.py7
-rw-r--r--yardstick/common/httpClient.py27
-rw-r--r--yardstick/common/utils.py9
5 files changed, 63 insertions, 1 deletions
diff --git a/yardstick/cmd/cli.py b/yardstick/cmd/cli.py
index ee8d1c529..d141731e1 100644
--- a/yardstick/cmd/cli.py
+++ b/yardstick/cmd/cli.py
@@ -24,6 +24,7 @@ from yardstick.cmd.commands import runner
from yardstick.cmd.commands import scenario
from yardstick.cmd.commands import testcase
from yardstick.cmd.commands import plugin
+from yardstick.cmd.commands import env
CONF = cfg.CONF
cli_opts = [
@@ -62,7 +63,8 @@ class YardstickCLI():
'runner': runner.RunnerCommands,
'scenario': scenario.ScenarioCommands,
'testcase': testcase.TestcaseCommands,
- 'plugin': plugin.PluginCommands
+ 'plugin': plugin.PluginCommands,
+ 'env': env.EnvCommand
}
def __init__(self):
diff --git a/yardstick/cmd/commands/env.py b/yardstick/cmd/commands/env.py
new file mode 100644
index 000000000..d9c0c0a3f
--- /dev/null
+++ b/yardstick/cmd/commands/env.py
@@ -0,0 +1,17 @@
+##############################################################################
+# Copyright (c) 2016 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
+##############################################################################
+from yardstick.common.httpClient import HttpClient
+
+
+class EnvCommand(object):
+
+ def do_influxdb(self, args):
+ url = 'http://localhost:5000/yardstick/env/action'
+ data = {'action': 'createInfluxDBContainer'}
+ HttpClient().post(url, data)
diff --git a/yardstick/common/constants.py b/yardstick/common/constants.py
index 40b29a717..8fbc82f0e 100644
--- a/yardstick/common/constants.py
+++ b/yardstick/common/constants.py
@@ -1,3 +1,10 @@
CONFIG_SAMPLE = '/etc/yardstick/config.yaml'
RELENG_DIR = 'releng.dir'
+
+DOCKER_URL = 'unix://var/run/docker.sock'
+
+# database config
+USER = 'root'
+PASSWORD = 'root'
+DATABASE = 'yardstick'
diff --git a/yardstick/common/httpClient.py b/yardstick/common/httpClient.py
new file mode 100644
index 000000000..b6959b400
--- /dev/null
+++ b/yardstick/common/httpClient.py
@@ -0,0 +1,27 @@
+##############################################################################
+# Copyright (c) 2016 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 logging
+
+import requests
+
+logger = logging.getLogger(__name__)
+
+
+class HttpClient(object):
+
+ def post(self, url, data):
+ data = json.dumps(data)
+ headers = {'Content-Type': 'application/json'}
+ try:
+ response = requests.post(url, data=data, headers=headers)
+ result = response.json()
+ logger.debug('The result is: %s', result)
+ except Exception as e:
+ logger.debug('Failed: %s', e)
diff --git a/yardstick/common/utils.py b/yardstick/common/utils.py
index d639fb66a..afbe4e8ec 100644
--- a/yardstick/common/utils.py
+++ b/yardstick/common/utils.py
@@ -18,6 +18,7 @@
import os
import sys
import yaml
+import errno
from oslo_utils import importutils
import yardstick
@@ -91,3 +92,11 @@ def get_para_from_yaml(file_path, args):
else:
print 'file not exist'
return None
+
+
+def makedirs(d):
+ try:
+ os.makedirs(d)
+ except OSError as e:
+ if e.errno != errno.EEXIST:
+ raise