diff options
author | chenjiankun <chenjiankun1@huawei.com> | 2017-06-29 02:42:56 +0000 |
---|---|---|
committer | chenjiankun <chenjiankun1@huawei.com> | 2017-06-29 04:18:47 +0000 |
commit | 8996240be14d6f7979a6ae02dd474b03d50e79d9 (patch) | |
tree | 629c776668c7e3b340c99e3e30f3ea4ff011545a | |
parent | 832d3e4e449c28438aacba396ba9afa9bbc0d6d2 (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.py | 17 |
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') |