summaryrefslogtreecommitdiffstats
path: root/dovetail/container.py
diff options
context:
space:
mode:
authorxudan <xudan16@huawei.com>2018-02-27 01:54:02 -0500
committerGeorg Kunz <georg.kunz@ericsson.com>2018-03-01 14:21:03 +0000
commitc729d5c0b053eb7762426b78682fc0eeca033e81 (patch)
tree35d82d22502e3cd577d7a08be84a1ac55c770bf7 /dovetail/container.py
parent5640d95a5d4ba0781ef66518dff57cf97a0a6431 (diff)
Bugfix: Dovetail tool will crash when hosts.yaml file with incorrect format
If the hosts.yaml file is like, — hosts_info: 192.168.141.101: it will raise an exception, File "/usr/local/lib/python2.7/dist-packages/dovetail/utils/dovetail_utils.py", line 227, in add_hosts_info names=hostnames) File "/usr/local/lib/python2.7/dist-packages/python_hosts/hosts.py", line 54, in _init_ raise Exception('Address and Name(s) must be specified.') Exception: Address and Name(s) must be specified. If the hosts.yaml file is empty, it will crash with, File "/usr/local/lib/python2.7/dist-packages/dovetail/container.py", line 174, in create if hosts_yaml['hosts_info']: TypeError: 'NoneType' object has no attribute '_getitem_' JIRA: DOVETAIL-621 Change-Id: I547928e514b3294c048379459c07df89879fbb03 Signed-off-by: xudan <xudan16@huawei.com>
Diffstat (limited to 'dovetail/container.py')
-rw-r--r--dovetail/container.py16
1 files changed, 1 insertions, 15 deletions
diff --git a/dovetail/container.py b/dovetail/container.py
index 8b4f0fcd..63ce2db8 100644
--- a/dovetail/container.py
+++ b/dovetail/container.py
@@ -8,7 +8,6 @@
#
import os
-import yaml
import utils.dovetail_logger as dt_logger
import utils.dovetail_utils as dt_utils
@@ -169,20 +168,7 @@ 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')
- if os.path.isfile(hosts_config_file):
- with open(hosts_config_file) as f:
- hosts_yaml = yaml.safe_load(f)
- if hosts_yaml['hosts_info']:
- for ip, hostnames in hosts_yaml['hosts_info'].iteritems():
- dt_utils.add_hosts_info(ip, hostnames)
- names_str = ' '.join(hostname for hostname in hostnames)
- hosts_config += ' --add-host=\'{}\':{} '.format(names_str,
- ip)
- cls.logger.debug('Get hosts info {}:{}.'.format(ip,
- names_str))
+ hosts_config = dt_utils.get_hosts_info(cls.logger)
config = ""
if type.lower() == "functest":