summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrexlee8776 <limingjiang@huawei.com>2017-08-08 08:09:41 +0000
committerrexlee8776 <limingjiang@huawei.com>2017-08-09 02:22:52 +0000
commit5331f681970c6c4a1cbca074a4b786963797b339 (patch)
treee1f0d0cf1880c7d5ba4b53fbe9e3e998fa8ee4f8
parent72778951d6b8968f562fb8fefa02a57159ea1b83 (diff)
bugfix: hosts should be clean if update_hosts twice
JIRA: YARDSTICK-774 Change-Id: Id610d43d236ab3a7d1aa4b8cfd230a40958fac38 Signed-off-by: rexlee8776 <limingjiang@huawei.com>
-rw-r--r--api/resources/write_hosts.py14
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))