diff options
author | 2017-07-06 08:19:36 +0000 | |
---|---|---|
committer | 2017-07-06 08:19:36 +0000 | |
commit | 917dea49415183eaff6d2f2fbf32ddeff64d9dfe (patch) | |
tree | 50140080a57476c2195bc0c80579452df5691ba5 /api/resources/env_action.py | |
parent | c5320714338e4f819c329faaa618630382f3b68c (diff) | |
parent | a9fc9d29b782dd90bbac95a602529b5da927ca6d (diff) |
Merge "Add API to update hosts info about SUT"
Diffstat (limited to 'api/resources/env_action.py')
-rw-r--r-- | api/resources/env_action.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/api/resources/env_action.py b/api/resources/env_action.py index 2ea64ef1a..fed987063 100644 --- a/api/resources/env_action.py +++ b/api/resources/env_action.py @@ -18,6 +18,7 @@ import uuid import glob import yaml import collections +from subprocess import PIPE from six.moves import configparser from oslo_serialization import jsonutils @@ -415,10 +416,12 @@ def update_hosts(hosts_ip): if not isinstance(hosts_ip, dict): return result_handler(consts.API_ERROR, 'Error, args should be a dict') LOG.info('Writing hosts: Writing') - hosts_list = ['\n{} {}'.format(ip, host_name) - for host_name, ip in hosts_ip.items()] - LOG.debug('Writing: %s', hosts_list) - with open(consts.ETC_HOSTS, 'a') as f: - f.writelines(hosts_list) + LOG.debug('Writing: %s', hosts_ip) + cmd = ["sudo", "python", "write_hosts.py"] + p = subprocess.Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE, + cwd = os.path.join(consts.REPOS_DIR, "api/resources")) + _, err = p.communicate(jsonutils.dumps(hosts_ip)) + if p.returncode != 0 : + return result_handler(consts.API_ERROR, err) LOG.info('Writing hosts: Done') return result_handler(consts.API_SUCCESS, 'success') |