Add API to get single environment info 43/37343/1
authorchenjiankun <chenjiankun1@huawei.com>
Thu, 13 Jul 2017 07:24:35 +0000 (07:24 +0000)
committerchenjiankun <chenjiankun1@huawei.com>
Thu, 13 Jul 2017 07:24:35 +0000 (07:24 +0000)
JIRA: YARDSTICK-717

API: /api/v2/yardstick/environments/<environment_id>
METHOD: GET

Change-Id: I9fe42a48520cc17d0f5416080b3595bd6c269761
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
api/resources/v2/environments.py
api/urls.py

index 4b27c45..f83c0a9 100644 (file)
@@ -49,3 +49,23 @@ class V2Environments(ApiResource):
         environment_handler.insert(env_init_data)
 
         return result_handler(consts.API_SUCCESS, {'uuid': env_id})
+
+
+class V2Environment(ApiResource):
+
+    def get(self, environment_id):
+        try:
+            uuid.UUID(environment_id)
+        except ValueError:
+            return result_handler(consts.API_ERROR, 'invalid environment id')
+
+        environment_handler = V2EnvironmentHandler()
+        try:
+            environment = environment_handler.get_by_uuid(environment_id)
+        except ValueError:
+            return result_handler(consts.API_ERROR, 'no such environment id')
+
+        environment = change_obj_to_dict(environment)
+        container_id = environment['container_id']
+        environment['container_id'] = jsonutils.loads(container_id) if container_id else {}
+        return result_handler(consts.API_SUCCESS, {'environment': environment})
index 0c63fb0..70d69f8 100644 (file)
@@ -24,4 +24,5 @@ urlpatterns = [
     # api v2
     Url('/api/v2/yardstick/environments', 'v2_environments'),
     Url('/api/v2/yardstick/environments/action', 'v2_environments'),
+    Url('/api/v2/yardstick/environments/<environment_id>', 'v2_environment'),
 ]