Fix csit job error for vfc-nfvo-lcm 63/63763/1
authorfujinhua <fu.jinhua@zte.com.cn>
Thu, 30 Aug 2018 09:28:19 +0000 (17:28 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Thu, 30 Aug 2018 09:28:19 +0000 (17:28 +0800)
Change-Id: I1d427a4ef20228a371da3adab54ca2f61d8754a7
Issue-ID: INT-640
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
lcm/ns_vnfs/tests/tests.py
lcm/ns_vnfs/urls.py
lcm/ns_vnfs/views/views.py
lcm/pub/msapi/nslcm.py

index 37add61..b70d00e 100644 (file)
@@ -199,8 +199,8 @@ class TestTerminateVnfViews(TestCase):
             "terminationType": "forceful",
             "gracefulTerminationTimeout": "600"}
 
-        response = self.client.post("/api/nslcm/v1/ns/vnfs/%s" % self.nf_inst_id, data=req_data)
-        self.failUnlessEqual(status.HTTP_201_CREATED, response.status_code)
+        response = self.client.post("/api/nslcm/v1/ns/terminatevnf/%s" % self.nf_inst_id, data=req_data)
+        self.failUnlessEqual(status.HTTP_202_ACCEPTED, response.status_code)
 
     @mock.patch.object(restcall, 'call_req')
     def test_terminate_vnf(self, mock_call_req):
index dd555bf..49a2229 100644 (file)
@@ -15,13 +15,14 @@ from django.conf.urls import url
 from rest_framework.urlpatterns import format_suffix_patterns
 
 from lcm.ns_vnfs.views.views import LcmNotify, NfScaleView, NfVerifyView
-from lcm.ns_vnfs.views.views import NfView, NfDetailView, NfGrant, NfPlacement
+from lcm.ns_vnfs.views.views import NfView, NfDetailView, NfGrant, NfPlacement, NfTerminate
 from lcm.ns_vnfs.views.views import NfVnfmInfoView, NfVimInfoView
 from lcm.ns_vnfs.views.grant_vnf_views import VnfGrantView, VnfNotifyView
 
 urlpatterns = [
     url(r'^api/nslcm/v1/ns/vnfs$', NfView.as_view()),
     url(r'^api/nslcm/v1/ns/vnfs/(?P<vnfinstid>[0-9a-zA-Z_-]+)$', NfDetailView.as_view()),
+    url(r'^api/nslcm/v1/ns/terminatevnf/(?P<vnfinstid>[0-9a-zA-Z_-]+)$', NfTerminate.as_view()),
     url(r'^api/nslcm/v1/ns/grantvnf$', NfGrant.as_view()),
     url(r'^api/nslcm/v1/ns/placevnf$', NfPlacement.as_view()),
     url(r'^api/nslcm/v1/ns/(?P<vnfmid>[0-9a-zA-Z_-]+)/ns_vnfs/(?P<vnfInstanceId>[0-9a-zA-Z_-]+)/Notify$', LcmNotify.as_view()),
index 517238b..e3a6bbf 100644 (file)
@@ -108,23 +108,25 @@ class NfDetailView(APIView):
 
         return Response(status=status.HTTP_200_OK, data=rsp)
 
+
+class NfTerminate(APIView):
     @swagger_auto_schema(
         request_body=TerminateVnfReqSerializer(),
         responses={
-            status.HTTP_200_OK: TerminateVnfRespSerializer(),
+            status.HTTP_202_ACCEPTED: TerminateVnfRespSerializer(),
             status.HTTP_409_CONFLICT: "Inner error"
         }
     )
-    def post(self, request_paras, vnfinstid):
-        logger.debug("VnfTerminateView--post::> %s, %s", vnfinstid, request_paras.data)
+    def post(self, request, vnfinstid):
+        logger.debug("NfTerminate--post::> %s, %s", vnfinstid, request.data)
 
-        req_serializer = TerminateVnfReqSerializer(data=request_paras.data)
+        req_serializer = TerminateVnfReqSerializer(data=request.data)
         if not req_serializer.is_valid():
             logger.error(req_serializer.errors)
 
         vnf_inst_id = vnfinstid
-        terminationType = ignore_case_get(request_paras.data, 'terminationType')
-        gracefulTerminationTimeout = ignore_case_get(request_paras.data, 'gracefulTerminationTimeout')
+        terminationType = ignore_case_get(request.data, 'terminationType')
+        gracefulTerminationTimeout = ignore_case_get(request.data, 'gracefulTerminationTimeout')
         job_id = JobUtil.create_job("VNF", JOB_TYPE.TERMINATE_VNF, vnf_inst_id)
         data = {'terminationType': terminationType, 'gracefulTerminationTimeout': gracefulTerminationTimeout}
         logger.debug("data=%s", data)
@@ -139,7 +141,7 @@ class NfDetailView(APIView):
         if not resp_serializer.is_valid():
             logger.error(resp_serializer.errors)
 
-        return Response(data=rsp, status=status.HTTP_201_CREATED)
+        return Response(data=rsp, status=status.HTTP_202_ACCEPTED)
 
 
 class NfGrant(APIView):
index 44d8f84..921e03f 100644 (file)
@@ -30,7 +30,7 @@ def call_from_ns_cancel_resource(res_type, instid):
     else:
         # vnf
         method = "POST"
-        uri = '/api/nslcm/v1/ns/vnfs/%s' % instid
+        uri = '/api/nslcm/v1/ns/terminatevnf/%s' % instid
     req_param = {}
     ret = req_by_msb(uri, method, json.dumps(req_param))
     logger.info("[NS terminate] call vnfm [%s] result:%s" % (res_type, ret))