diff options
Diffstat (limited to 'functest/utils')
-rw-r--r-- | functest/utils/decorators.py | 9 | ||||
-rw-r--r--[-rwxr-xr-x] | functest/utils/functest_logger.py | 0 | ||||
-rw-r--r-- | functest/utils/functest_utils.py | 15 | ||||
-rw-r--r--[-rwxr-xr-x] | functest/utils/openstack_utils.py | 17 |
4 files changed, 27 insertions, 14 deletions
diff --git a/functest/utils/decorators.py b/functest/utils/decorators.py index 99bcef3e..276235d9 100644 --- a/functest/utils/decorators.py +++ b/functest/utils/decorators.py @@ -1,6 +1,8 @@ #!/usr/bin/env python +import errno import mock +import os import requests.sessions import urlparse @@ -10,7 +12,12 @@ def can_dump_request_to_file(method): def dump_preparedrequest(request, **kwargs): parseresult = urlparse.urlparse(request.url) if parseresult.scheme == "file": - with open(parseresult.path.replace('/results', ''), 'a') as f: + try: + os.makedirs(parseresult.path) + except OSError as e: + if e.errno != errno.EEXIST: + raise + with open(os.path.join(parseresult.path, 'dump.txt'), 'a') as f: headers = "" for key in request.headers: headers += key + " " + request.headers[key] + "\n" diff --git a/functest/utils/functest_logger.py b/functest/utils/functest_logger.py index 022211cb..022211cb 100755..100644 --- a/functest/utils/functest_logger.py +++ b/functest/utils/functest_logger.py diff --git a/functest/utils/functest_utils.py b/functest/utils/functest_utils.py index e5e755d7..7cc5029d 100644 --- a/functest/utils/functest_utils.py +++ b/functest/utils/functest_utils.py @@ -111,12 +111,13 @@ def get_version(): # if launched through CI the build tag has the following format # jenkins-<project>-<installer>-<pod>-<job>-<branch>-<id> # e.g. jenkins-functest-fuel-opnfv-jump-2-daily-master-190 + # jenkins-functest-fuel-baremetal-weekly-master-8 # use regex to match branch info - rule = "daily-(.+?)-[0-9]*" + rule = "(dai|week)ly-(.+?)-[0-9]*" build_tag = get_build_tag() m = re.search(rule, build_tag) if m: - return m.group(1) + return m.group(2) else: return "unknown" @@ -156,8 +157,6 @@ def get_db_url(): # if TEST_DB_URL declared in env variable, use it! db_url = os.environ['TEST_DB_URL'] except KeyError: - logger.info("DB URL not declared as env variable," - "use local configuration") db_url = get_functest_config('results.test_db_url') return db_url @@ -208,13 +207,7 @@ def push_results_to_db(project, case_name, except KeyError as e: logger.error("Please set env var: " + str(e)) return False - rule = "daily-(.+?)-[0-9]*" - m = re.search(rule, build_tag) - if m: - version = m.group(1) - else: - logger.error("Please fix BUILD_TAG env var: " + build_tag) - return False + version = get_version() test_start = dt.fromtimestamp(start_date).strftime('%Y-%m-%d %H:%M:%S') test_stop = dt.fromtimestamp(stop_date).strftime('%Y-%m-%d %H:%M:%S') diff --git a/functest/utils/openstack_utils.py b/functest/utils/openstack_utils.py index e33af63b..ffc870f6 100755..100644 --- a/functest/utils/openstack_utils.py +++ b/functest/utils/openstack_utils.py @@ -82,7 +82,8 @@ def get_env_cred_dict(): 'OS_PROJECT_DOMAIN_NAME': 'project_domain_name', 'OS_PROJECT_NAME': 'project_name', 'OS_ENDPOINT_TYPE': 'endpoint_type', - 'OS_REGION_NAME': 'region_name' + 'OS_REGION_NAME': 'region_name', + 'OS_CACERT': 'https_cacert' } return env_cred_dict @@ -149,6 +150,11 @@ def get_credentials_for_rally(): if region_name is not None: cred_key = env_cred_dict.get('OS_REGION_NAME') rally_conf[cred_key] = region_name + + cacert = os.getenv('OS_CACERT') + if cacert is not None: + cred_key = env_cred_dict.get('OS_CACERT') + rally_conf[cred_key] = cacert return rally_conf @@ -168,7 +174,14 @@ def get_endpoint(service_type, endpoint_type='publicURL'): def get_session(other_creds={}): auth = get_session_auth(other_creds) - return session.Session(auth=auth) + cacert = os.getenv('OS_CACERT') + if cacert is not None: + if not os.path.isfile(cacert): + raise Exception("The 'OS_CACERT' environment" + "variable is set to %s but the file" + "does not exist.", cacert) + + return session.Session(auth=auth, verify=cacert) # ********************************************* |