From 5331f681970c6c4a1cbca074a4b786963797b339 Mon Sep 17 00:00:00 2001 From: rexlee8776 Date: Tue, 8 Aug 2017 08:09:41 +0000 Subject: bugfix: hosts should be clean if update_hosts twice JIRA: YARDSTICK-774 Change-Id: Id610d43d236ab3a7d1aa4b8cfd230a40958fac38 Signed-off-by: rexlee8776 --- api/resources/write_hosts.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'api') 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)) -- cgit 1.2.3-korg