Add vfc-lcm nsheal log
[vfc/nfvo/lcm.git] / lcm / ns / views.py
index 9a25027..95a570e 100644 (file)
@@ -21,16 +21,16 @@ from rest_framework.response import Response
 from rest_framework.views import APIView
 
 from lcm.ns.ns_create import CreateNSService
+from lcm.ns.ns_delete import DeleteNsService
 from lcm.ns.ns_get import GetNSInfoService
+from lcm.ns.ns_heal import NSHealService
 from lcm.ns.ns_instant import InstantNSService
 from lcm.ns.ns_manual_scale import NSManualScaleService
-from lcm.ns.ns_heal import NSHealService
-from lcm.ns.ns_terminate import TerminateNsService, DeleteNsService
+from lcm.ns.ns_terminate import TerminateNsService
 from lcm.pub.database.models import NSInstModel, ServiceBaseInfoModel
 from lcm.pub.utils.jobutil import JobUtil, JOB_TYPE
-from lcm.pub.utils.values import ignore_case_get
 from lcm.pub.utils.restcall import req_by_msb
-from lcm.pub.exceptions import NSLCMException
+from lcm.pub.utils.values import ignore_case_get
 
 logger = logging.getLogger(__name__)
 
@@ -38,12 +38,10 @@ logger = logging.getLogger(__name__)
 class CreateNSView(APIView):
     def get(self, request):
         logger.debug("CreateNSView::get")
-        filter=None
+        filter = None
         csarId = ignore_case_get(request.META, 'csarId')
         if csarId:
-            filter ={
-            "csarId":csarId
-            }
+            filter = {"csarId": csarId}
 
         ret = GetNSInfoService(filter).get_ns_info()
         logger.debug("CreateNSView::get::ret=%s", ret)
@@ -51,12 +49,17 @@ class CreateNSView(APIView):
 
     def post(self, request):
         logger.debug("Enter CreateNS: %s", request.data)
-        nsd_id = ignore_case_get(request.data, 'nsdId')
+        if ignore_case_get(request.data, 'test') == "test":
+            return Response(data={'nsInstanceId': "test"}, status=status.HTTP_201_CREATED)
+        # nsd_id = ignore_case_get(request.data, 'nsdId')
+        csar_id = ignore_case_get(request.data, 'csarId')
         ns_name = ignore_case_get(request.data, 'nsName')
         description = ignore_case_get(request.data, 'description')
+        context = ignore_case_get(request.data, 'context')
         try:
-            ns_inst_id = CreateNSService(nsd_id, ns_name, description).do_biz()
+            ns_inst_id = CreateNSService(csar_id, ns_name, description, context).do_biz()
         except Exception as e:
+            logger.error(traceback.format_exc())
             logger.error("Exception in CreateNS: %s", e.message)
             return Response(data={'error': e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
         logger.debug("CreateNSView::post::ret={'nsInstanceId':%s}", ns_inst_id)
@@ -89,6 +92,7 @@ class TerminateNSView(APIView):
 class NSHealView(APIView):
     def post(self, request, ns_instance_id):
         logger.debug("Enter HealNSView::post %s", request.data)
+        logger.debug("Enter HealNSView:: %s", ns_instance_id)
         job_id = JobUtil.create_job("VNF", JOB_TYPE.HEAL_VNF, ns_instance_id)
         try:
             NSHealService(ns_instance_id, request.data, job_id).start()
@@ -103,7 +107,7 @@ class NSHealView(APIView):
 class NSDetailView(APIView):
     def get(self, request, ns_instance_id):
         logger.debug("Enter NSDetailView::get ns(%s)", ns_instance_id)
-        ns_filter ={"ns_inst_id":ns_instance_id}
+        ns_filter = {"ns_inst_id": ns_instance_id}
         ret = GetNSInfoService(ns_filter).get_ns_info()
         if not ret:
             return Response(status=status.HTTP_404_NOT_FOUND)
@@ -126,8 +130,6 @@ class SwaggerJsonView(APIView):
 
 
 class NSInstPostDealView(APIView):
-
-
     def post(self, request, ns_instance_id):
         logger.debug("Enter NSInstPostDealView::post %s, %s", request.data, ns_instance_id)
         ns_post_status = ignore_case_get(request.data, 'status')
@@ -155,18 +157,17 @@ class NSInstPostDealView(APIView):
         return Response(data={'success': 'Update status of NS(%s) to %s' % (ns_instance_id, ns_status)},
                         status=status.HTTP_202_ACCEPTED)
 
-    def send_policy_request(self,ns_instance_id, nsd_id, file_url):
+    def send_policy_request(self, ns_instance_id, nsd_id, file_url):
         input_data = {
             "nsid": ns_instance_id,
             "nsdid": nsd_id,
-            "fileUri":file_url
+            "fileUri": file_url
         }
         req_param = json.JSONEncoder().encode(input_data)
         policy_engine_url = 'api/polengine/v1/policyinfo'
         ret = req_by_msb(policy_engine_url, "POST", req_param)
         if ret[0] != 0:
             logger.error("Failed to send ns policy req")
-            #raise NSLCMException('Failed to send ns policy req)')
 
 
 class NSManualScaleView(APIView):
@@ -180,4 +181,4 @@ class NSManualScaleView(APIView):
             JobUtil.add_job_status(job_id, 255, 'NS scale failed: %s' % e.message)
             return Response(data={'error': 'NS scale failed: %s' % ns_instance_id},
                             status=status.HTTP_500_INTERNAL_SERVER_ERROR)
-        return Response(data={'jobId': job_id}, status=status.HTTP_202_ACCEPTED)
\ No newline at end of file
+        return Response(data={'jobId': job_id}, status=status.HTTP_202_ACCEPTED)