summaryrefslogtreecommitdiffstats
path: root/lcm
diff options
context:
space:
mode:
Diffstat (limited to 'lcm')
-rw-r--r--lcm/lcm/nf/vnfs/tests/test_vnf_create.py34
-rw-r--r--lcm/lcm/nf/vnfs/views.py15
-rw-r--r--lcm/lcm/nf/vnfs/vnf_create/inst_vnf.py2
-rw-r--r--lcm/lcm/pub/database/models.py6
4 files changed, 32 insertions, 25 deletions
diff --git a/lcm/lcm/nf/vnfs/tests/test_vnf_create.py b/lcm/lcm/nf/vnfs/tests/test_vnf_create.py
index 06ba6dec..3aa583bf 100644
--- a/lcm/lcm/nf/vnfs/tests/test_vnf_create.py
+++ b/lcm/lcm/nf/vnfs/tests/test_vnf_create.py
@@ -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']
diff --git a/lcm/lcm/nf/vnfs/views.py b/lcm/lcm/nf/vnfs/views.py
index a852c9f0..01db9db5 100644
--- a/lcm/lcm/nf/vnfs/views.py
+++ b/lcm/lcm/nf/vnfs/views.py
@@ -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)
diff --git a/lcm/lcm/nf/vnfs/vnf_create/inst_vnf.py b/lcm/lcm/nf/vnfs/vnf_create/inst_vnf.py
index 759859cb..b9bc15a9 100644
--- a/lcm/lcm/nf/vnfs/vnf_create/inst_vnf.py
+++ b/lcm/lcm/nf/vnfs/vnf_create/inst_vnf.py
@@ -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
diff --git a/lcm/lcm/pub/database/models.py b/lcm/lcm/pub/database/models.py
index d386ae64..183283ff 100644
--- a/lcm/lcm/pub/database/models.py
+++ b/lcm/lcm/pub/database/models.py
@@ -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)