Remove vfc-ztevnfmdriver unused code
[vfc/nfvo/driver/vnfm/svnfm.git] / zte / vmanager / driver / interfaces / views.py
index 93b8d92..21432b2 100644 (file)
@@ -22,7 +22,8 @@ from rest_framework.decorators import api_view
 from rest_framework.response import Response
 
 from driver.pub.utils import restcall
-from driver.pub.utils.restcall import req_by_msb, call_aai
+from driver.pub.utils.restcall import req_by_msb
+from driver.pub.config.config import VNF_FTP
 
 logger = logging.getLogger(__name__)
 
@@ -71,12 +72,6 @@ def get_vnfminfo_from_nslcm(vnfmid):
     return ret
 
 
-# Query vnfm_info from esr
-def vnfm_get(vnfmid):
-    ret = call_aai("api/aai-esr-server/v1/vnfms/%s" % vnfmid, "GET")
-    return ret
-
-
 # Query vnfd_info from nslcm
 def vnfd_get(vnfpackageid):
     ret = req_by_msb("api/nslcm/v1/vnfpackage/%s" % vnfpackageid, "GET")
@@ -89,7 +84,6 @@ def vnfpackage_get(csarid):
     return ret
 
 
-# ==================================================
 create_vnf_url = "v1/vnfs"
 create_vnf_param_mapping = {
     "packageUrl": "",
@@ -139,21 +133,18 @@ def instantiate_vnf(request, *args, **kwargs):
         metadata = ignorcase_get(vnfdModel, "metadata")
         vnfd_name = ignorcase_get(metadata, "name")
         # TODO  convert sdc vnf package to vnf vender package
-        from urlparse import urlparse
-        vnfm_ip = urlparse(ignorcase_get(vnfm_info, "url")).netloc.split(':')[0]
 
         inputs = []
         if "SPGW" in vnfd_name.upper():
-            data["VNFD"] = "ftp://VMVNFM:Vnfm_1g3T@" + vnfm_ip + ":21/" + "SPGW"
-            data["VNFURL"] = "ftp://VMVNFM:Vnfm_1g3T@" + vnfm_ip + ":21/" + "SPGW"
+            data["VNFD"] = VNF_FTP + "SPGW"
             inputs = load_json_file("SPGW" + "_inputs.json")
         elif "MME" in vnfd_name.upper():
-            data["VNFD"] = "ftp://VMVNFM:Vnfm_1g3T@" + vnfm_ip + ":21/" + "MME"
-            data["VNFURL"] = "ftp://VMVNFM:Vnfm_1g3T@" + vnfm_ip + ":21/" + "MME"
+            data["VNFD"] = VNF_FTP + "MME"
             inputs = load_json_file("MME" + "_inputs.json")
         else:
             data["VNFD"] = ignorcase_get(packageInfo, "downloadUri")
-            data["VNFURL"] = ignorcase_get(packageInfo, "downloadUri")
+
+        data["VNFURL"] = data["VNFD"]
 
         data["extension"] = {}
         for name, value in ignorcase_get(ignorcase_get(request.data, "additionalParam"), "inputs").items():
@@ -190,7 +181,6 @@ def instantiate_vnf(request, *args, **kwargs):
     return Response(data=resp_data, status=ret[2])
 
 
-# ==================================================
 vnf_delete_url = "v1/vnfs/%s"
 vnf_delete_param_mapping = {
     "terminationType": "terminationType",
@@ -231,9 +221,6 @@ def terminate_vnf(request, *args, **kwargs):
     return Response(data=resp_data, status=ret[2])
 
 
-# ==================================================
-
-
 vnf_detail_url = "v1/vnfs/%s"
 vnf_detail_resp_mapping = {
     "VNFInstanseStatus": "status"
@@ -408,21 +395,29 @@ def notify(request, *args, **kwargs):
         data["affectedVirtualStorage"] = []
         data["affectedCp"] = []
 
-        affectedvnfcs = ignorcase_get(ignorcase_get(request.data, "extension"), "affectedvnfc")
-        affectedvls = ignorcase_get(ignorcase_get(request.data, "extension"), "affectedvl")
-        affectedcps = ignorcase_get(ignorcase_get(request.data, "extension"), "affectedcp")
-        vnfdmodule = ignorcase_get(ignorcase_get(request.data, "extension"), "vnfdmodule")
+        extension = ignorcase_get(request.data, "extension")
+        openo_notification = ignorcase_get(extension, "openo_notification")
+        if openo_notification:
+            affectedvnfcs = ignorcase_get(openo_notification, "affectedVnfc")
+            affectedvls = ignorcase_get(openo_notification, "affectedvirtuallink")
+            affectedcps = ignorcase_get(openo_notification, "affectedCp")
+            vnfdmodule = ignorcase_get(openo_notification, "vnfdmodule")
+        else:
+            affectedvnfcs = ignorcase_get(ignorcase_get(request.data, "extension"), "affectedvnfc")
+            affectedvls = ignorcase_get(ignorcase_get(request.data, "extension"), "affectedvl")
+            affectedcps = ignorcase_get(ignorcase_get(request.data, "extension"), "affectedcp")
+            vnfdmodule = ignorcase_get(ignorcase_get(request.data, "extension"), "vnfdmodule")
 
         data["vnfdmodule"] = vnfdmodule
 
         for affectedvnfc in affectedvnfcs:
             data["affectedVnfc"].append({
-                "vnfcInstanceId": ignorcase_get(affectedvnfc, "vnfcinstanceid"),
+                "vnfcInstanceId": ignorcase_get(affectedvnfc, "vnfcInstanceId"),
                 "vduId": ignorcase_get(affectedvnfc, "vduId"),
                 "changeType": ignorcase_get(affectedvnfc, "changeType"),
-                "vimid": ignorcase_get(ignorcase_get(affectedvnfc, "computeresource"), "vimid"),
-                "vmId": ignorcase_get(ignorcase_get(affectedvnfc, "computeresource"), "resourceid"),
-                "vmName": ignorcase_get(ignorcase_get(affectedvnfc, "computeresource"), "resourcename")
+                "vimid": ignorcase_get(ignorcase_get(affectedvnfc, "computeResource"), "vimId"),
+                "vmId": ignorcase_get(ignorcase_get(affectedvnfc, "computeResource"), "resourceId"),
+                "vmName": ignorcase_get(ignorcase_get(affectedvnfc, "computeResource"), "resourceName")
             })
 
         for affectedvl in affectedvls:
@@ -436,11 +431,7 @@ def notify(request, *args, **kwargs):
 
         for affectedcp in affectedcps:
             data["affectedCp"].append(affectedcp)
-            #     {
-            #     "virtualLinkInstanceId": ignorcase_get(affectedcp, "virtuallinkinstanceid"),
-            #     "ownerId": ignorcase_get(affectedcp, "ownerId"),
-            #     "ownerType": ignorcase_get(affectedcp, "ownerType")
-            # }
+
         ret = req_by_msb(notify_url.format(vnfmid=ignorcase_get(data, 'VNFMID'),
                                            vnfInstanceId=ignorcase_get(data, 'vnfinstanceid')),
                          "POST", content=json.JSONEncoder().encode(data))
@@ -450,6 +441,7 @@ def notify(request, *args, **kwargs):
             return Response(data={'error': ret[1]}, status=ret[2])
     except Exception as e:
         logger.error("Error occurred in LCM notification.")
+        logger.error(traceback.format_exc())
         raise e
     return Response(data=None, status=ret[2])
 
@@ -501,7 +493,6 @@ def scale(request, *args, **kwargs):
         if ret[0] != 0:
             return Response(data={'error': 'scale error'}, status=ret[2])
         resp_data = json.JSONDecoder().decode(ret[1])
-        # jobId = resp_data["jobid"]
         logger.info("resp_data=%s", resp_data)
     except Exception as e:
         logger.error("Error occurred when scaling VNF,error:%s", e.message)
@@ -525,7 +516,14 @@ def heal(request, *args, **kwargs):
         if ret[0] != 0:
             return Response(data={'error': ret[1]}, status=ret[2])
         vnfm_info = json.JSONDecoder().decode(ret[1])
-        data = request.data
+        data = {}
+        data['action'] = ignorcase_get(request.data, 'action')
+        affectedvm = ignorcase_get(request.data, 'affectedvm')
+        data['affectedvm'] = []
+        if isinstance(affectedvm, list):
+            data['affectedvm'] = affectedvm
+        else:
+            data['affectedvm'].append(affectedvm)
         data['lifecycleoperation'] = 'operate'
         data['isgrace'] = 'force'
 
@@ -536,13 +534,12 @@ def heal(request, *args, **kwargs):
             passwd=ignorcase_get(vnfm_info, "password"),
             auth_type=restcall.rest_no_auth,
             resource=nf_healing_url.format(vnfInstanceID=nf_instance_id),
-            method='put',  # POST
+            method='post',
             content=json.JSONEncoder().encode(data))
         logger.info("ret=%s", ret)
         if ret[0] != 0:
             return Response(data={'error': 'heal error'}, status=ret[2])
         resp_data = json.JSONDecoder().decode(ret[1])
-        # jobId = resp_data["jobid"]
         logger.info("resp_data=%s", resp_data)
     except Exception as e:
         logger.error("Error occurred when healing VNF,error:%s", e.message)