diff options
author | SerenaFeng <feng.xiaowei@zte.com.cn> | 2017-11-15 17:46:44 +0800 |
---|---|---|
committer | Leo wang <grakiss.wanglei@huawei.com> | 2017-11-20 01:50:37 +0000 |
commit | 2b090511832f1898f7d15cc33a6b9b20a8d88e07 (patch) | |
tree | ce71801b2214e647ea9aba642ddfefd4b63fb9b9 /dovetail/container.py | |
parent | 81ea24a3e8fca5a11191129e92ab1b9bc985759d (diff) |
bugfix: hosts info is wrongly processed
changes:
1. add usage example in hosts.yaml.sample
2. fix /etc/hosts from wrong format {'hostname': 'ip'} to
the right 'ip hostnames'
3. fix --add-hosts from wrong usage --add-host {'hostname': 'ip'} to
the right --add-host='hostnames':ip
4. support per ip mapping mutiple hostnames, which is also
in line with /etc/hosts schema
JIRA: DOVETAIL-556
Change-Id: I92e8cb0fd3476b61f5c73a69e34c4a66aef51d6e
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
Diffstat (limited to 'dovetail/container.py')
-rw-r--r-- | dovetail/container.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/dovetail/container.py b/dovetail/container.py index e8840de3..e1191094 100644 --- a/dovetail/container.py +++ b/dovetail/container.py @@ -167,13 +167,15 @@ class Container(object): 'hosts.yaml') if os.path.isfile(hosts_config_file): 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.debug('Get hosts info {}.'.format(host)) + 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)) config = "" if type.lower() == "functest": |