Fix issue of Delete Infra_workload 31/74031/2
authorXiaohua Zhang <xiaohua.zhang@windriver.com>
Fri, 30 Nov 2018 08:52:54 +0000 (08:52 +0000)
committerXiaohua Zhang <xiaohua.zhang@windriver.com>
Fri, 30 Nov 2018 08:52:54 +0000 (08:52 +0000)
Enforce client to pass in workload_id

Change-Id: I017321920aad665bee352499e0b43f5c5db5898c
Issue-ID: MULTICLOUD-423
Signed-off-by: Xiaohua Zhang <xiaohua.zhang@windriver.com>
ocata/ocata/resource/views/infra_workload.py
pike/pike/resource/views/infra_workload.py
windriver/titanium_cloud/resource/views/infra_workload.py

index d78e3ce..b9d754b 100644 (file)
@@ -41,7 +41,7 @@ class InfraWorkload(APIView):
         self._logger.info("data: %s" % request.data)
         self._logger.debug("META: %s" % request.META)
 
-        try :
+        try:
             data = request.data
             oof_directive = data.get("oof_directives", {})
             template_type = data.get("template_type", None)
@@ -59,7 +59,7 @@ class InfraWorkload(APIView):
                                 for attr in directive2.get("attributes", []):
                                     label_name = attr["attribute_name"]
                                     label_value = attr["attribute_value"]
-                                    if parameters.has_key(label_name):
+                                    if label_name in parameters:
                                         template_data["parameters"][label_name] = label_value
                                     else:
                                         self._logger.warn("There is no parameter exist: %s" % label_name)
@@ -119,7 +119,7 @@ class InfraWorkload(APIView):
         self._logger.info("vimid, requri: %s, %s" % (vimid, requri))
         self._logger.debug("META: %s" % request.META)
 
-        try :
+        try:
             # assume the workload_type is heat
             template_type = "heat"
             stack_id = requri
@@ -299,13 +299,19 @@ class InfraWorkload(APIView):
         aai_transactions = {"transactions": transactions}
         self._logger.debug("aai_transactions :%s" % aai_transactions)
 
-        return  aai_transactions
+        return aai_transactions
 
     def delete(self, request, vimid="", requri=""):
         self._logger.info("vimid, requri: %s, %s" % (vimid, requri))
         self._logger.debug("META: %s" % request.META)
 
-        try :
+        try:
+            if requri == "":
+                raise VimDriverNewtonException(
+                    message="workload_id is not specified",
+                    content="workload_id must be specified to delete the workload",
+                    status_code=400)
+
             # assume the workload_type is heat
             template_type = "heat"
             stack_id = requri
index d78e3ce..45352bd 100644 (file)
@@ -59,7 +59,7 @@ class InfraWorkload(APIView):
                                 for attr in directive2.get("attributes", []):
                                     label_name = attr["attribute_name"]
                                     label_value = attr["attribute_value"]
-                                    if parameters.has_key(label_name):
+                                    if label_name in parameters:
                                         template_data["parameters"][label_name] = label_value
                                     else:
                                         self._logger.warn("There is no parameter exist: %s" % label_name)
@@ -67,7 +67,7 @@ class InfraWorkload(APIView):
                 # update parameters
                 template_data["parameters"] = parameters
 
-                #reset to make sure "files" are empty
+                # reset to make sure "files" are empty
                 template_data["file"] = {}
 
                 #authenticate
@@ -305,7 +305,13 @@ class InfraWorkload(APIView):
         self._logger.info("vimid, requri: %s, %s" % (vimid, requri))
         self._logger.debug("META: %s" % request.META)
 
-        try :
+        try:
+            if requri == "":
+                raise VimDriverNewtonException(
+                    message="workload_id is not specified",
+                    content="workload_id must be specified to delete the workload",
+                    status_code=400)
+
             # assume the workload_type is heat
             template_type = "heat"
             stack_id = requri
index 681a7f9..74c187f 100644 (file)
@@ -196,6 +196,12 @@ class InfraWorkload(APIView):
         self._logger.debug("META: %s" % request.META)
 
         try:
+            if requri == "":
+                raise VimDriverNewtonException(
+                    message="workload_id is not specified",
+                    content="workload_id must be specified to delete the workload",
+                    status_code=400)
+
             # assume the workload_type is heat
             stack_id = requri
             cloud_owner, regionid = extsys.decode_vim_id(vimid)