summaryrefslogtreecommitdiffstats
path: root/api/resources
diff options
context:
space:
mode:
authorchenjiankun <chenjiankun1@huawei.com>2017-07-14 01:49:52 +0000
committerchenjiankun <chenjiankun1@huawei.com>2017-07-14 05:04:53 +0000
commit886299ea745264d86b930fcbbb6c108594c76bd4 (patch)
tree33112aab47bba40a75ef1c191d2aafa3483a80be /api/resources
parent2ae853c649f03b310527a4c291e839184a69f553 (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/resources')
-rw-r--r--api/resources/v2/openrcs.py21
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})