Add vnf exist check for inst vnf 52/84452/2
authorfujinhua <fu.jinhua@zte.com.cn>
Mon, 8 Apr 2019 01:16:15 +0000 (09:16 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Mon, 8 Apr 2019 01:17:03 +0000 (09:17 +0800)
Change-Id: I3872c4a88e368ce3253375a4bb0b143b56d1e422
Issue-ID: VFC-1306
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
lcm/lcm/nf/views/instantiate_vnf_view.py

index b285cc8..80529b2 100644 (file)
@@ -23,7 +23,9 @@ from rest_framework.views import APIView
 from lcm.nf.serializers.instantiate_vnf_request import InstantiateVnfRequestSerializer\r
 from lcm.nf.serializers.job_identifier import JobIdentifierSerializer\r
 from lcm.pub.exceptions import NFLCMException\r
+from lcm.pub.exceptions import NFLCMExceptionNotFound\r
 from lcm.pub.utils.jobutil import JobUtil\r
+from lcm.pub.database.models import NfInstModel\r
 from .common import view_safe_call_with_log\r
 \r
 logger = logging.getLogger(__name__)\r
@@ -45,6 +47,10 @@ class InstantiateVnfView(APIView):
         if not instantiate_vnf_request_serializer.is_valid():\r
             raise NFLCMException(instantiate_vnf_request_serializer.errors)\r
 \r
+        vnf_insts = NfInstModel.objects.filter(nfinstid=instanceid)\r
+        if not vnf_insts.exists():\r
+            raise NFLCMExceptionNotFound("VNF instanceid(%s) does not exist." % instanceid)\r
+\r
         job_id = JobUtil.create_job('NF', 'INSTANTIATE', instanceid)\r
         JobUtil.add_job_status(job_id, 0, "INST_VNF_READY")\r
         InstantiateVnf(instantiate_vnf_request_serializer.data, instanceid, job_id).start()\r