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/common/utils.py | |
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/common/utils.py')
-rw-r--r-- | yardstick/common/utils.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/yardstick/common/utils.py b/yardstick/common/utils.py index afbe4e8ec..3ecb0ae20 100644 --- a/yardstick/common/utils.py +++ b/yardstick/common/utils.py @@ -19,10 +19,19 @@ import os import sys import yaml import errno +import subprocess +import logging + from oslo_utils import importutils +from keystoneauth1 import identity +from keystoneauth1 import session +from neutronclient.v2_0 import client import yardstick +logger = logging.getLogger(__name__) +logger.setLevel(logging.DEBUG) + # Decorator for cli-args def cliargs(*args, **kwargs): @@ -100,3 +109,35 @@ def makedirs(d): except OSError as e: if e.errno != errno.EEXIST: raise + + +def execute_command(cmd): + exec_msg = "Executing command: '%s'" % cmd + logger.debug(exec_msg) + + output = subprocess.check_output(cmd.split()).split(os.linesep) + + return output + + +def source_env(env_file): + p = subprocess.Popen(". %s; env" % env_file, stdout=subprocess.PIPE, + shell=True) + output = p.communicate()[0] + env = dict((line.split('=', 1) for line in output.splitlines())) + os.environ.update(env) + return env + + +def get_openstack_session(): + auth = identity.Password(auth_url=os.environ.get('OS_AUTH_URL'), + username=os.environ.get('OS_USERNAME'), + password=os.environ.get('OS_PASSWORD'), + tenant_name=os.environ.get('OS_TENANT_NAME')) + return session.Session(auth=auth) + + +def get_neutron_client(): + sess = get_openstack_session() + neutron_client = client.Client(session=sess) + return neutron_client |