summaryrefslogtreecommitdiffstats
path: root/dovetail/utils/dovetail_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'dovetail/utils/dovetail_utils.py')
-rw-r--r--dovetail/utils/dovetail_utils.py53
1 files changed, 10 insertions, 43 deletions
diff --git a/dovetail/utils/dovetail_utils.py b/dovetail/utils/dovetail_utils.py
index 02ffa798..e758a84b 100644
--- a/dovetail/utils/dovetail_utils.py
+++ b/dovetail/utils/dovetail_utils.py
@@ -22,6 +22,7 @@ import python_hosts
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):
@@ -132,38 +133,6 @@ def check_https_enabled(logger=None):
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:
@@ -296,17 +265,15 @@ def combine_files(file_path, result_file, logger=None):
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')
@@ -315,7 +282,7 @@ def get_openstack_endpoint(logger=None):
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