Modify table module and related code
authorying.yunlong <ying.yunlong@zte.com.cn>
Sat, 18 Feb 2017 08:00:05 +0000 (16:00 +0800)
committerying.yunlong <ying.yunlong@zte.com.cn>
Sat, 18 Feb 2017 08:00:05 +0000 (16:00 +0800)
Change-Id: Idf3ce94158291a269595a506430490e68a8b44fc
Issue-Id: GVNFM-19
Signed-off-by: ying.yunlong <ying.yunlong@zte.com.cn>
lcm/lcm/nf/vnfs/tests/test_vnf_create.py
lcm/lcm/nf/vnfs/views.py
lcm/lcm/nf/vnfs/vnf_create/inst_vnf.py
lcm/lcm/pub/database/models.py

index 06ba6de..3aa583b 100644 (file)
@@ -54,9 +54,9 @@ class TestNFInstantiate(TestCase):
             descp=job_detail)
         self.assertEqual(1, len(jobs))
 
-    def test_swagger_ok(self):
-        response = self.client.get("/openoapi/vnflcm/v1/swagger.json", format='json')
-        self.assertEqual(response.status_code, status.HTTP_200_OK)
+    def test_swagger_ok(self):
+        response = self.client.get("/openoapi/vnflcm/v1/swagger.json", format='json')
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
 
     @mock.patch.object(restcall, 'call_req')
     def test_create_vnf_identifier(self, mock_call_req):
@@ -71,20 +71,20 @@ class TestNFInstantiate(TestCase):
         context = json.loads(response.content)
         self.assertTrue(NfInstModel.objects.filter(nfinstid=context['vnfInstanceId']).exists())
 
-    @mock.patch.object(InstVnf, 'run')
-    def test_instantiate_vnf(self, mock_run):
-        mock_run.re.return_value = None
-        response = self.client.post("/openoapi/vnflcm/v1/vnf_instances/12/instantiate", data={}, format='json')
-        self.failUnlessEqual(status.HTTP_202_ACCEPTED, response.status_code)
-    #
-    def test_instantiate_vnf_when_inst_id_not_exist(self):
-        self.nf_inst_id = str(uuid.uuid4())
-        self.job_id = JobUtil.create_job('NF', 'CREATE', self.nf_inst_id)
-        JobUtil.add_job_status(self.job_id, 0, "INST_VNF_READY")
-        data = inst_req_data
-        InstVnf(data, nf_inst_id=self.nf_inst_id, job_id=self.job_id).run()
-        self.assert_job_result(self.job_id, 255, "VNF nf_inst_id is not exist.")
-    #
+    @mock.patch.object(InstVnf, 'run')
+    def test_instantiate_vnf(self, mock_run):
+        mock_run.re.return_value = None
+        response = self.client.post("/openoapi/vnflcm/v1/vnf_instances/12/instantiate", data={}, format='json')
+        self.failUnlessEqual(status.HTTP_202_ACCEPTED, response.status_code)
+
+    def test_instantiate_vnf_when_inst_id_not_exist(self):
+        self.nf_inst_id = str(uuid.uuid4())
+        self.job_id = JobUtil.create_job('NF', 'CREATE', self.nf_inst_id)
+        JobUtil.add_job_status(self.job_id, 0, "INST_VNF_READY")
+        data = inst_req_data
+        InstVnf(data, nf_inst_id=self.nf_inst_id, job_id=self.job_id).run()
+        self.assert_job_result(self.job_id, 255, "VNF nf_inst_id is not exist.")
+
     # @mock.patch.object(restcall, 'call_req')
     # def test_instantiate_vnf_when_input_para_not_define_in_vnfd(self, mock_call_req):
     #     r1 = [0, json.JSONEncoder().encode(vnfd_model_dict), '200']
index a852c9f..01db9db 100644 (file)
@@ -47,10 +47,17 @@ class CreateVnfIdentifier(APIView):
 
 class InstantiateVnf(APIView):
     def post(self, request, instanceid):
-        logger.debug("InstantiateVnf--post::> %s" % request.data)
-        job_id = JobUtil.create_job('NF', 'INSTANTIATE', instanceid)
-        JobUtil.add_job_status(job_id, 0, "INST_VNF_READY")
-        InstVnf(request.data, instanceid, job_id).start()
+        try:
+            logger.debug("InstantiateVnf--post::> %s" % request.data)
+            job_id = JobUtil.create_job('NF', 'INSTANTIATE', instanceid)
+            JobUtil.add_job_status(job_id, 0, "INST_VNF_READY")
+            InstVnf(request.data, instanceid, job_id).start()
+        except NFLCMException as e:
+            logger.error(e.message)
+            return Response(data={'error': '%s' % e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
+        except Exception:
+            logger.error(traceback.format_exc())
+            return Response(data={'error': 'unexpected exception'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
         rsp = {"jobId": job_id}
         return Response(data=rsp, status=status.HTTP_202_ACCEPTED)
 
index 759859c..b9bc15a 100644 (file)
@@ -103,7 +103,7 @@ class InstVnf(Thread):
             raise NFLCMException('VNF nf_inst_id is not exist.')
 
         # self.vnfm_inst_id = vnf_insts[0].vnfm_inst_id
-        if vnf_insts[0].instantiationState != 'NOT_INSTANTIATED':
+        if vnf_insts[0].status != 'NOT_INSTANTIATED':
             raise NFLCMException('VNF instantiationState is not NOT_INSTANTIATED.')
 
         # get rawdata by vnfd_id
index d386ae6..183283f 100644 (file)
@@ -19,16 +19,16 @@ class NfInstModel(models.Model):
         db_table = 'NFINST'
 
     nfinstid = models.CharField(db_column='NFINSTID', max_length=200, primary_key=True)
-    nf_name = models.CharField(db_column='NFNAME', max_length=100, blank=True, null=True) #CreateVnfRequest.vnfInstanceName
+    nf_name = models.CharField(db_column='NFNAME', max_length=100, blank=True, null=True)  # CreateVnfRequest.vnfInstanceName
     package_id = models.CharField(db_column='PACKAGEID', max_length=200, blank=True, null=True)
     status = models.CharField(db_column='STATUS', max_length=20, blank=True, null=True)
-    flavour_id = models.CharField(db_column='FLAVOURID', max_length=200, blank=True, null=True) #InstantiateVnfRequest.flavourId
+    flavour_id = models.CharField(db_column='FLAVOURID', max_length=200, blank=True, null=True)  # InstantiateVnfRequest.flavourId
     location = models.CharField(db_column='LOCATION', max_length=200, blank=True, null=True)
     version = models.CharField(db_column='VERSION', max_length=255, null=True)
     vendor = models.CharField(db_column='VENDOR', max_length=255, null=True, blank=True)
     netype = models.CharField(db_column='NETYPE', max_length=255, null=True)
     vnfd_model = models.TextField(db_column='VNFDMODEL', max_length=20000, blank=True, null=True)
-    input_params = models.TextField(db_column='INPUTPARAMS', max_length=2000, blank=True, null=True)  #InstantiateVnfRequest.additionalParams
+    input_params = models.TextField(db_column='INPUTPARAMS', max_length=2000, blank=True, null=True)  # InstantiateVnfRequest.additionalParams
     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
     lastuptime = models.CharField(db_column='LASTUPTIME', max_length=200, blank=True, null=True)