diff options
author | chenjiankun <chenjiankun1@huawei.com> | 2017-07-14 01:49:52 +0000 |
---|---|---|
committer | chenjiankun <chenjiankun1@huawei.com> | 2017-07-14 05:04:53 +0000 |
commit | 886299ea745264d86b930fcbbb6c108594c76bd4 (patch) | |
tree | 33112aab47bba40a75ef1c191d2aafa3483a80be /api | |
parent | 2ae853c649f03b310527a4c291e839184a69f553 (diff) |
Add API(v2) to delete openrc
JIRA: YARDSTICK-722
API: /api/v2/yardstick/environments/openrcs/<openrc_id>
METHOD: DELETE
Change-Id: Ia0989fe74681654750af80ddb935bb3e63485f43
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
Diffstat (limited to 'api')
-rw-r--r-- | api/resources/v2/openrcs.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/api/resources/v2/openrcs.py b/api/resources/v2/openrcs.py index afabcdec6..5f3b9382f 100644 --- a/api/resources/v2/openrcs.py +++ b/api/resources/v2/openrcs.py @@ -188,3 +188,24 @@ class V2Openrc(ApiResource): content = jsonutils.loads(openrc.content) return result_handler(consts.API_ERROR, {'openrc': content}) + + def delete(self, openrc_id): + try: + uuid.UUID(openrc_id) + except ValueError: + return result_handler(consts.API_ERROR, 'invalid openrc id') + + LOG.info('Geting openrc: %s', openrc_id) + openrc_handler = V2OpenrcHandler() + try: + openrc = openrc_handler.get_by_uuid(openrc_id) + except ValueError: + return result_handler(consts.API_ERROR, 'no such openrc id') + + LOG.info('update openrc in environment') + environment_handler = V2EnvironmentHandler() + environment_handler.update_attr(openrc.environment_id, {'openrc_id': None}) + + openrc_handler.delete_by_uuid(openrc_id) + + return result_handler(consts.API_SUCCESS, {'openrc': openrc_id}) |