Update accelerator resource
[pti/o2.git] / o2ims / views / ocloud_view.py
index 95ce671..bc11097 100644 (file)
@@ -23,7 +23,8 @@ from o2common.service import unit_of_work
 from o2common.config import config
 from o2common.views.view import gen_filter, check_filter
 from o2common.views.pagination_view import Pagination
-from o2common.views.route_exception import BadRequestException
+from o2common.views.route_exception import BadRequestException, \
+    NotFoundException
 
 from o2ims.domain import ocloud
 from o2ims.views.ocloud_dto import SubscriptionDTO
@@ -142,16 +143,18 @@ def deployment_manager_one(deploymentManagerId: str,
             return None
 
     profile_data = result.pop("profile", None)
-    result['profileName'] = profile
     profiles = config.get_dms_support_profiles()
     if profile not in profiles:
         return ""
 
+    extensions = {
+        'profileName': profile
+    }
     if ocloud.DeploymentManagerProfileDefault == profile \
             or ocloud.DeploymentManagerProfileSOL018 == profile:
         result['serviceUri'] = \
             profile_data['cluster_api_endpoint']
-        result['profileData'] = profile_data
+        extensions['profileData'] = profile_data
     elif ocloud.DeploymentManagerProfileSOL018HelmCLI == profile:
         result['serviceUri'] = \
             profile_data['cluster_api_endpoint']
@@ -162,10 +165,11 @@ def deployment_manager_one(deploymentManagerId: str,
             config.get_helmcli_access()
         helmcli_profile["helmcli_kubeconfig"] = _gen_kube_config(
             deploymentManagerId, profile_data)
-        result['profileData'] = helmcli_profile
+        extensions['profileData'] = helmcli_profile
     else:
         return ""
 
+    result['extensions'] = extensions
     return result
 
 
@@ -238,7 +242,7 @@ def subscription_create(subscriptionDto: SubscriptionDTO.subscription_create,
         args.append(getattr(Subscription, 'filter') == filter)
         args.append(getattr(Subscription,
                     'consumerSubscriptionId') == consumer_subs_id)
-        count, _ = uow.alarm_subscriptions.list_with_count(*args)
+        count, _ = uow.subscriptions.list_with_count(*args)
         if count > 0:
             raise BadRequestException("The value of parameters is duplicated")
         uow.subscriptions.add(subscription)
@@ -250,6 +254,10 @@ def subscription_create(subscriptionDto: SubscriptionDTO.subscription_create,
 def subscription_delete(subscriptionId: str,
                         uow: unit_of_work.AbstractUnitOfWork):
     with uow:
+        first = uow.subscriptions.get(subscriptionId)
+        if not first:
+            raise NotFoundException(
+                "Subscription {} not found.".format(subscriptionId))
         uow.subscriptions.delete(subscriptionId)
         uow.commit()
     return True