summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dovetail/container.py33
-rw-r--r--dovetail/userconfig/hosts.yaml.sample (renamed from dovetail/userconfig/hosts.yaml)0
-rw-r--r--dovetail/userconfig/tempest_conf.yaml.sample (renamed from dovetail/userconfig/tempest_conf.yaml)0
-rw-r--r--dovetail/utils/dovetail_utils.py6
4 files changed, 23 insertions, 16 deletions
diff --git a/dovetail/container.py b/dovetail/container.py
index f3d08373..cf8e14e5 100644
--- a/dovetail/container.py
+++ b/dovetail/container.py
@@ -153,6 +153,23 @@ class Container(object):
envs = envs + ' -e BUILD_TAG=%s-%s' % (dovetail_config['build_tag'],
testcase_name)
+ hosts_config = ""
+ hosts_config_file = os.path.join(dovetail_config['config_dir'],
+ 'hosts.yaml')
+ try:
+ with open(hosts_config_file) as f:
+ hosts_info = yaml.safe_load(f)
+ if hosts_info['hosts_info']:
+ for host in hosts_info['hosts_info']:
+ dt_utils.add_hosts_info(host)
+ hosts_config += " --add-host "
+ hosts_config += str(host)
+ cls.logger.info('Get hosts info {}.'.format(hosts_config))
+ except Exception:
+ cls.logger.warn('Failed to get hosts info in {}, '
+ 'maybe some issues with domain name resolution.'
+ .format(hosts_config_file))
+
config = ""
if type.lower() == "functest":
config = cls.set_functest_config(testcase_name)
@@ -168,22 +185,6 @@ class Container(object):
' -v %s:%s ' % (os.getenv("DOVETAIL_HOME"),
dovetail_config[type]['config']['dir'])
- hosts_config = ""
- hosts_config_path = os.path.abspath(
- os.path.join(os.path.dirname(__file__), 'userconfig'))
- try:
- with open(os.path.join(hosts_config_path, 'hosts.yaml')) as f:
- hosts_info = yaml.safe_load(f)
- if hosts_info['hosts_info']:
- for host in hosts_info['hosts_info']:
- hosts_config += " --add-host "
- hosts_config += str(host)
- cls.logger.info('Get hosts info {}.'.format(hosts_config))
- except Exception:
- cls.logger.warn('Failed to get hosts info in {}/hosts.yaml, '
- 'maybe some issues with domain name resolution.'
- .format(hosts_config_path))
-
cacert_volume = ""
https_enabled = dt_utils.check_https_enabled(cls.logger)
cacert = os.getenv('OS_CACERT',)
diff --git a/dovetail/userconfig/hosts.yaml b/dovetail/userconfig/hosts.yaml.sample
index e4687dfb..e4687dfb 100644
--- a/dovetail/userconfig/hosts.yaml
+++ b/dovetail/userconfig/hosts.yaml.sample
diff --git a/dovetail/userconfig/tempest_conf.yaml b/dovetail/userconfig/tempest_conf.yaml.sample
index 944e3a9f..944e3a9f 100644
--- a/dovetail/userconfig/tempest_conf.yaml
+++ b/dovetail/userconfig/tempest_conf.yaml.sample
diff --git a/dovetail/utils/dovetail_utils.py b/dovetail/utils/dovetail_utils.py
index 2c7ac317..23285e3c 100644
--- a/dovetail/utils/dovetail_utils.py
+++ b/dovetail/utils/dovetail_utils.py
@@ -208,3 +208,9 @@ def check_docker_version(logger=None):
if client_ret != 0 or (LooseVersion(client_ver) < LooseVersion('1.12.3')):
logger.error("Don't support this Docker client version. "
"Docker client should be updated to at least 1.12.3.")
+
+
+def add_hosts_info(hosts_info):
+ hosts_file = '/etc/hosts'
+ with open(hosts_file, 'a') as f:
+ f.write("{}\n".format(hosts_info))