diff options
author | rexlee8776 <limingjiang@huawei.com> | 2017-08-08 08:09:41 +0000 |
---|---|---|
committer | rexlee8776 <limingjiang@huawei.com> | 2017-08-09 02:22:52 +0000 |
commit | 5331f681970c6c4a1cbca074a4b786963797b339 (patch) | |
tree | e1f0d0cf1880c7d5ba4b53fbe9e3e998fa8ee4f8 /api/resources/write_hosts.py | |
parent | 72778951d6b8968f562fb8fefa02a57159ea1b83 (diff) |
bugfix: hosts should be clean if update_hosts twice
JIRA: YARDSTICK-774
Change-Id: Id610d43d236ab3a7d1aa4b8cfd230a40958fac38
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
Diffstat (limited to 'api/resources/write_hosts.py')
-rw-r--r-- | api/resources/write_hosts.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/api/resources/write_hosts.py b/api/resources/write_hosts.py index e4b69846b..a3025d3b0 100644 --- a/api/resources/write_hosts.py +++ b/api/resources/write_hosts.py @@ -13,11 +13,19 @@ import json def write_hosts(hosts_ip): - hosts_list = ('\n{} {}'.format(ip, host_name) + + yardstick_flag = "# SUT hosts info for Yardstick" + hosts_list = ('\n{} {} {}'.format(ip, host_name, yardstick_flag) for host_name, ip in hosts_ip.items()) - with open("/etc/hosts", 'a') as f: + + with open("/etc/hosts", 'r') as f: + origin_lines = [line for line in f if yardstick_flag not in line] + + with open("/etc/hosts", 'w') as f: + f.writelines(origin_lines) + f.write(yardstick_flag) f.writelines(hosts_list) - f.write("\n") + if __name__ == "__main__": write_hosts(json.load(sys.stdin)) |