diff options
author | chenjiankun <chenjiankun1@huawei.com> | 2016-12-01 07:34:23 +0000 |
---|---|---|
committer | chenjiankun <chenjiankun1@huawei.com> | 2016-12-04 09:50:31 +0000 |
commit | 99ff997e0f9caf6ab4ba831d4272d803d3047909 (patch) | |
tree | bcb654af22d6689a3b7e9f8724272966990c7626 /yardstick/cmd | |
parent | 78d6cbd462fc7db9dcdab4d2478f6c27437d4c88 (diff) |
Add API and command support for yardstick env prepare
JIRA: YARDSTICK-406
Change-Id: Icf837a6f34a22158203566a43a6446fc269c096f
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
Diffstat (limited to 'yardstick/cmd')
-rw-r--r-- | yardstick/cmd/commands/env.py | 21 | ||||
-rw-r--r-- | yardstick/cmd/commands/task.py | 16 |
2 files changed, 35 insertions, 2 deletions
diff --git a/yardstick/cmd/commands/env.py b/yardstick/cmd/commands/env.py index ed46b84c4..098379ae1 100644 --- a/yardstick/cmd/commands/env.py +++ b/yardstick/cmd/commands/env.py @@ -6,17 +6,34 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +import logging + from yardstick.common.httpClient import HttpClient +from yardstick.common import constants + +logger = logging.getLogger(__name__) +logger.setLevel(logging.DEBUG) class EnvCommand(object): + ''' + Set of commands to prepare environment + ''' def do_influxdb(self, args): - url = 'http://localhost:5000/yardstick/env/action' + url = constants.YARDSTICK_ENV_ACTION_API data = {'action': 'createInfluxDBContainer'} HttpClient().post(url, data) + logger.debug('Now creating and configing influxdb') def do_grafana(self, args): - url = 'http://localhost:5000/yardstick/env/action' + url = constants.YARDSTICK_ENV_ACTION_API data = {'action': 'createGrafanaContainer'} HttpClient().post(url, data) + logger.debug('Now creating and configing grafana') + + def do_prepare(self, args): + url = constants.YARDSTICK_ENV_ACTION_API + data = {'action': 'prepareYardstickEnv'} + HttpClient().post(url, data) + logger.debug('Now preparing environment') diff --git a/yardstick/cmd/commands/task.py b/yardstick/cmd/commands/task.py index 47fb2ee60..9524778ba 100644 --- a/yardstick/cmd/commands/task.py +++ b/yardstick/cmd/commands/task.py @@ -17,12 +17,15 @@ import ipaddress import time import logging import uuid +import errno from itertools import ifilter from yardstick.benchmark.contexts.base import Context from yardstick.benchmark.runners import base as base_runner from yardstick.common.task_template import TaskTemplate from yardstick.common.utils import cliargs +from yardstick.common.utils import source_env +from yardstick.common import constants output_file_default = "/tmp/yardstick.out" test_cases_dir_default = "tests/opnfv/test_cases/" @@ -58,6 +61,8 @@ class TaskCommands(object): self.task_id = kwargs.get('task_id', str(uuid.uuid4())) + check_environment() + total_start_time = time.time() parser = TaskParser(args.inputfile[0]) @@ -483,3 +488,14 @@ def parse_task_args(src_name, args): % {"src": src_name, "src_type": type(kw)}) raise TypeError() return kw + + +def check_environment(): + auth_url = os.environ.get('OS_AUTH_URL', None) + if not auth_url: + try: + source_env(constants.OPENSTACK_RC_FILE) + except IOError as e: + if e.errno != errno.EEXIST: + raise + LOG.debug('OPENRC file not found') |