aboutsummaryrefslogtreecommitdiffstats
path: root/api/resources
diff options
context:
space:
mode:
authorrexlee8776 <limingjiang@huawei.com>2017-06-05 20:31:02 +0000
committerrexlee8776 <limingjiang@huawei.com>2017-06-25 13:59:54 +0000
commit62e417c18464f9d9f6bcad31b61ecdc18180812a (patch)
tree48b7f353adb3770d4f81f20d4b31772b4966fba8 /api/resources
parent3ca356db275f543bcbbb39701207a0faa2e29e02 (diff)
Add API to update hosts info about SUT
JIRA: YARDSTICK-674 For some SUT which use domain name as endpoint and AUTH_URL, yardstick restAPI should support to add "ip domain_name" info into /etc/hosts so that it can use the ip_address to access the SUT. api: /yardstick/env/action description: update hosts info for domain name method: POST parameters: { "action": "update_hosts", "args": {"opnfv.org": "1.1.1.1", "openstack.org": "2.2.2.2" } } Change-Id: Iaca9c846f02b1d53e2408d6a21f9201b599717d4 Signed-off-by: rexlee8776 <limingjiang@huawei.com>
Diffstat (limited to 'api/resources')
-rw-r--r--api/resources/env_action.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/api/resources/env_action.py b/api/resources/env_action.py
index 3536559b7..62ec78640 100644
--- a/api/resources/env_action.py
+++ b/api/resources/env_action.py
@@ -362,3 +362,16 @@ def upload_pod_file(args):
logger.info('Writing finished')
return result_handler(consts.API_SUCCESS, {'pod_info': data})
+
+
+def update_hosts(hosts_ip):
+ if not isinstance(hosts_ip, dict):
+ return result_handler(consts.API_ERROR, 'Error, args should be a dict')
+ logger.info('Writing hosts: Writing')
+ hosts_list = ['\n{} {}'.format(ip, host_name)
+ for host_name, ip in hosts_ip.items()]
+ logger.debug('Writing: %s', hosts_list)
+ with open(consts.ETC_HOSTS, 'a') as f:
+ f.writelines(hosts_list)
+ logger.info('Writing hosts: Done')
+ return result_handler(consts.API_SUCCESS, 'success')