From 886299ea745264d86b930fcbbb6c108594c76bd4 Mon Sep 17 00:00:00 2001
From: chenjiankun <chenjiankun1@huawei.com>
Date: Fri, 14 Jul 2017 01:49:52 +0000
Subject: 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>
---
 api/resources/v2/openrcs.py | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

(limited to 'api')

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})
-- 
cgit