cls.dovetail_config = yaml.safe_load(f)
for extra_config_file in cls.dovetail_config['include_config']:
-
- # The yardstick and bottlenecks config files are with Jinja2.
- # They need to be parsed later.
- # All other config files should be transfer to like this gradually.
- if extra_config_file.startswith(("yardstick", "bottlenecks")):
- continue
- else:
- file_path = os.path.join(conf_path, extra_config_file)
- with open(file_path) as f:
- extra_config = yaml.safe_load(f)
- cls.dovetail_config.update(extra_config)
+ file_path = os.path.join(conf_path, extra_config_file)
+ with open(file_path) as f:
+ extra_config = yaml.safe_load(f)
+ cls.dovetail_config.update(extra_config)
path = os.path.join(conf_path, cls.dovetail_config['cli_file_name'])
with open(path) as f:
from dovetail import constants
from dovetail_config import DovetailConfig as dt_cfg
+from openstack_utils import OS_Utils
def exec_log(verbose, logger, msg, level, flush=False):
return False
-def get_ext_net_name(env_file, logger=None):
- ext_net = os.getenv('EXTERNAL_NETWORK')
- if ext_net:
- return ext_net
- else:
- https_enabled = check_https_enabled(logger)
- insecure_option = ''
- insecure = os.getenv('OS_INSECURE')
- if https_enabled:
- logger.debug("https enabled...")
- if insecure:
- if insecure.lower() == "true":
- insecure_option = ' --insecure '
- else:
- logger.warn("Env variable OS_INSECURE is {}, if https + "
- "no credential used, should be set as True."
- .format(insecure))
-
- cmd_check = "openstack %s network list" % insecure_option
- ret, msg = exec_cmd(cmd_check, logger)
- if ret:
- logger.error("The credentials info in {} is invalid."
- .format(env_file))
- return None
- cmd = "openstack %s network list --long | grep 'External' | head -1 | \
- awk '{print $4}'" % insecure_option
- ret, msg = exec_cmd(cmd, logger)
- if not ret:
- return msg
- return None
-
-
def get_duration(start_date, stop_date, logger):
fmt = '%Y-%m-%d %H:%M:%S'
try:
def get_openstack_endpoint(logger=None):
https_enabled = check_https_enabled(logger)
- insecure_option = ''
insecure = os.getenv('OS_INSECURE')
- if https_enabled:
- if insecure:
- if insecure.lower() == "true":
- insecure_option = ' --insecure '
- cmd = ("openstack {} endpoint list --interface admin -f json"
- .format(insecure_option))
- ret, msg = exec_cmd(cmd, logger, verbose=False)
- if ret != 0:
- logger.error("Failed to get the endpoint info.")
+ if https_enabled and insecure and insecure.lower() == "true":
+ os_utils = OS_Utils(verify=False)
+ else:
+ os_utils = OS_Utils()
+ res, msg = os_utils.list_endpoints()
+ if not res:
+ logger.error("Failed to get admin endpoints. Exception message, {}"
+ .format(msg))
return None
result_file = os.path.join(dt_cfg.dovetail_config['result_dir'],
'endpoint_info.json')
f.write(msg)
logger.debug("Record all endpoint info into file {}."
.format(result_file))
- return result_file
+ return msg
except Exception:
logger.exception("Failed to write endpoint info into file.")
return None
---
+
+{% set validate_testcase = validate_testcase or '' %}
+{% set os_insecure = os_insecure or 'False' %}
+{% set os_verify = '' %}
+{% if os_insecure == 'True' %}
+ {% set os_verify = ' -e OS_VERIFY= ' %}
+{% endif %}
+
functest:
image_name: opnfv/functest-smoke
docker_tag: fraser
opts: '-id --privileged=true'
- envs: '-e INSTALLER_TYPE=unknown -e DEPLOY_SCENARIO=unknown -e NODE_NAME=unknown
+ envs: '{{os_verify}} -e INSTALLER_TYPE=unknown -e DEPLOY_SCENARIO=unknown -e NODE_NAME=unknown
-e TEST_DB_URL=file:///home/opnfv/functest/results/functest_results.txt'
config:
dir: '/home/opnfv/userconfig'