summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchenjiankun <chenjiankun1@huawei.com>2017-06-29 02:42:56 +0000
committerchenjiankun <chenjiankun1@huawei.com>2017-06-29 04:18:47 +0000
commit8996240be14d6f7979a6ae02dd474b03d50e79d9 (patch)
tree629c776668c7e3b340c99e3e30f3ea4ff011545a
parent832d3e4e449c28438aacba396ba9afa9bbc0d6d2 (diff)
Add API to update pod yaml file
JIRA: YARDSTICK-693 Apart from API to upload pod yaml file, we also need API to update pod file. API: /yardstick/env/action method: POST param: { 'action': 'update_pod_file', 'args': { 'pod': { pod content } } } Change-Id: I0ba168612ccc2e43c531e4b9253cf72e5c745297 Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
-rw-r--r--api/resources/env_action.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/api/resources/env_action.py b/api/resources/env_action.py
index 62ec78640..600bd796a 100644
--- a/api/resources/env_action.py
+++ b/api/resources/env_action.py
@@ -364,6 +364,23 @@ def upload_pod_file(args):
return result_handler(consts.API_SUCCESS, {'pod_info': data})
+def update_pod_file(args):
+ try:
+ pod_dic = args['pod']
+ except KeyError:
+ return result_handler(consts.API_ERROR, 'pod must be provided')
+ else:
+ if not isinstance(pod_dic, collections.Mapping):
+ return result_handler(consts.API_ERROR, 'pod should be a dict')
+
+ logger.info('Writing file')
+ with open(consts.POD_FILE, 'w') as f:
+ yaml.dump(pod_dic, f, default_flow_style=False)
+ logger.info('Writing finished')
+
+ return result_handler(consts.API_SUCCESS, {'pod_info': pod_dic})
+
+
def update_hosts(hosts_ip):
if not isinstance(hosts_ip, dict):
return result_handler(consts.API_ERROR, 'Error, args should be a dict')