aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/cmd
diff options
context:
space:
mode:
authorchenjiankun <chenjiankun1@huawei.com>2016-12-01 07:34:23 +0000
committerchenjiankun <chenjiankun1@huawei.com>2016-12-04 09:50:31 +0000
commit99ff997e0f9caf6ab4ba831d4272d803d3047909 (patch)
treebcb654af22d6689a3b7e9f8724272966990c7626 /yardstick/cmd
parent78d6cbd462fc7db9dcdab4d2478f6c27437d4c88 (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.py21
-rw-r--r--yardstick/cmd/commands/task.py16
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')