summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lcm/ns/vnfs/notify_lcm.py16
-rw-r--r--lcm/ns/vnfs/terminate_nfs.py14
-rw-r--r--lcm/ns/vnfs/views.py10
-rw-r--r--lcm/swagger/vfc.vnfdriver.swagger.json16
4 files changed, 34 insertions, 22 deletions
diff --git a/lcm/ns/vnfs/notify_lcm.py b/lcm/ns/vnfs/notify_lcm.py
index f494443b..f2007f31 100644
--- a/lcm/ns/vnfs/notify_lcm.py
+++ b/lcm/ns/vnfs/notify_lcm.py
@@ -110,17 +110,16 @@ class NotifyLcm(object):
if resourceType != 'network':
self.exception('affectedVl struct error: resourceType not euqal network')
- ownerId = self.vnf_instid
- ownerId = self.get_vnfinstid(self.vnf_instid, self.vnfmid)
+ ownerId = self.get_vnfinstid(self.m_vnfInstanceId, self.vnfmid)
if changeType == 'added':
- VLInstModel(vlInstanceId=vlInstanceId, vldId=vldid, ownerType=0, ownerId=ownerId,
- relatedNetworkId=resourceId, vlType=0).save()
+ VLInstModel(vlinstanceid=vlInstanceId, vldid=vldid, ownertype=0, ownerid=ownerId,
+ relatednetworkid=resourceId, vltype=0).save()
elif changeType == 'removed':
- VLInstModel.objects.filter(vlInstanceId=vlInstanceId).delete()
+ VLInstModel.objects.filter(vlinstanceid=vlInstanceId).delete()
elif changeType == 'modified':
- VLInstModel.objects.filter(vlInstanceId=vlInstanceId)\
- .update(vldId=vldid, ownerType=0, ownerId=ownerId, relatedNetworkId=resourceId, vlType=0)
+ VLInstModel.objects.filter(vlinstanceid=vlInstanceId)\
+ .update(vldid=vldid, ownertype=0, ownerid=ownerId, relatednetworkid=resourceId, vltype=0)
else:
self.exception('affectedVl struct error: changeType not in {added,removed,modified}')
@@ -186,8 +185,7 @@ class NotifyLcm(object):
logger.error('affectedVl struct error: resourceType not euqal network')
raise NSLCMException("affectedVl struct error: resourceType not euqal network")
- # ownerId = self.vnf_instid
- ownerId = self.get_vnfinstid(self.vnf_instid, self.vnfmid)
+ ownerId = self.get_vnfinstid(self.m_vnfInstanceId, self.vnfmid)
if changeType in ['added', 'modified']:
self.create_network_and_subnet_in_aai(vlInstanceId, ownerId)
diff --git a/lcm/ns/vnfs/terminate_nfs.py b/lcm/ns/vnfs/terminate_nfs.py
index 2574dcb4..3afb5c67 100644
--- a/lcm/ns/vnfs/terminate_nfs.py
+++ b/lcm/ns/vnfs/terminate_nfs.py
@@ -56,10 +56,10 @@ class TerminateVnfs(threading.Thread):
self.delete_vnf_in_aai()
self.delete_data_from_db()
except NSLCMException as e:
- self.exception(e.message)
- except Exception:
+ self.set_job_err(e.message)
+ except Exception as ex:
logger.error(traceback.format_exc())
- self.exception('unexpected exception')
+ self.set_job_err(ex.message)
def set_vnf_status(self, vnf_inst_info):
vnf_status = vnf_inst_info.status
@@ -70,10 +70,10 @@ class TerminateVnfs(threading.Thread):
vnf_inst_info.status = VNF_STATUS.TERMINATING
vnf_inst_info.save()
- def check_vnf_is_exist(self):
+ def get_vnf_inst(self):
vnf_inst = NfInstModel.objects.filter(nfinstid=self.vnf_inst_id)
if not vnf_inst.exists():
- logger.warning('[VNF terminate] Vnf terminate [%s] is not exist.' % self.vnf_inst_id)
+ logger.warning('[VNF terminate] Vnf terminate [%s] does not exist.' % self.vnf_inst_id)
return None
return vnf_inst[0]
@@ -81,7 +81,7 @@ class TerminateVnfs(threading.Thread):
JobUtil.add_job_status(self.job_id, progress, status_decs, error_code)
def initdata(self):
- vnf_inst_info = self.check_vnf_is_exist()
+ vnf_inst_info = self.get_vnf_inst()
if not vnf_inst_info:
self.add_progress(100, "TERM_VNF_NOT_EXIST_SUCCESS", "finished")
self.add_progress(2, "GET_VNF_INST_SUCCESS")
@@ -100,7 +100,7 @@ class TerminateVnfs(threading.Thread):
raise NSLCMException('[VNF terminate] Vnf instance is not exist.')
self.set_vnf_status(vnf_inst[0])
- def exception(self, error_msg):
+ def set_job_err(self, error_msg):
logger.error('VNF Terminate failed, detail message: %s' % error_msg)
NfInstModel.objects.filter(nfinstid=self.vnf_inst_id).update(status=VNF_STATUS.FAILED)
JobUtil.add_job_status(self.job_id, 255, 'VNF Terminate failed, detail message: %s' % error_msg, 0)
diff --git a/lcm/ns/vnfs/views.py b/lcm/ns/vnfs/views.py
index 2a94c8ce..411ecf05 100644
--- a/lcm/ns/vnfs/views.py
+++ b/lcm/ns/vnfs/views.py
@@ -71,6 +71,7 @@ class NfDetailView(APIView):
try:
TerminateVnfs(data, vnf_inst_id, job_id).start()
except Exception as e:
+ logger.error(e.message)
return Response(data={'error': '%s' % e.message}, status=status.HTTP_409_CONFLICT)
rsp = {'jobId': job_id}
return Response(data=rsp, status=status.HTTP_201_CREATED)
@@ -95,6 +96,7 @@ class NfGrant(APIView):
"""
return Response(data=rsp, status=status.HTTP_201_CREATED)
except Exception as e:
+ logger.error(e.message)
logger.error(traceback.format_exc())
return Response(data={'error': '%s' % e.message}, status=status.HTTP_409_CONFLICT)
@@ -106,6 +108,7 @@ class LcmNotify(APIView):
NotifyLcm(vnfmid, vnfInstanceId, request_paras.data).do_biz()
return Response(data={}, status=status.HTTP_201_CREATED)
except Exception as e:
+ logger.error(e.message)
return Response(data={'error': '%s' % e.message}, status=status.HTTP_409_CONFLICT)
@@ -116,6 +119,7 @@ class NfScaleView(APIView):
NFManualScaleService(vnfinstid, request_paras.data).start()
return Response(data={}, status=status.HTTP_202_ACCEPTED)
except Exception as e:
+ logger.error(e.message)
return Response(data={'error': '%s' % e.message}, status=status.HTTP_409_CONFLICT)
@@ -135,7 +139,8 @@ class NfVnfmInfoView(APIView):
except NSLCMException as e:
logger.error(e.message)
return Response(data={'error': '%s' % e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
- except:
+ except Exception as e:
+ logger.error(e.message)
logger.error(traceback.format_exc())
return Response(data={'error': 'Failed to get vnfm info.'},
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
@@ -150,7 +155,8 @@ class NfVimInfoView(APIView):
except NSLCMException as e:
logger.error(e.message)
return Response(data={'error': '%s' % e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
- except:
+ except Exception as e:
+ logger.error(e.message)
logger.error(traceback.format_exc())
return Response(data={'error': 'Failed to get vim info.'},
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
diff --git a/lcm/swagger/vfc.vnfdriver.swagger.json b/lcm/swagger/vfc.vnfdriver.swagger.json
index 54d8f640..a2b37f3d 100644
--- a/lcm/swagger/vfc.vnfdriver.swagger.json
+++ b/lcm/swagger/vfc.vnfdriver.swagger.json
@@ -1155,9 +1155,13 @@
"type": "object",
"description": "vnf package infomation",
"properties": {
- "csarId": {
+ "vnfPackageId": {
"type": "string",
- "description": "vnf package id, UUID"
+ "description": "vnf package id (csarId)"
+ },
+ "csarName": {
+ "type": "string",
+ "description": "The name of the csar"
},
"vnfdId": {
"type": "string",
@@ -1167,6 +1171,10 @@
"type": "string",
"description": "VNF descriptor vendor ID"
},
+ "vnfdModel": {
+ "type": "string",
+ "description": "The model of the VNF (JSON) encoded to string"
+ },
"vnfdVersion": {
"type": "string",
"description": "VNF descriptor version"
@@ -1175,9 +1183,9 @@
"type": "string",
"description": "VNF Software version"
},
- "downloadUri":{
+ "downloadUrl":{
"type": "string",
- "description": "The download uri of VNF package"
+ "description": "The URL from which the VNF package can be downloaded"
}
}
},