diff options
author | fujinhua <fu.jinhua@zte.com.cn> | 2019-04-10 10:06:34 +0800 |
---|---|---|
committer | fujinhua <fu.jinhua@zte.com.cn> | 2019-04-10 10:06:34 +0800 |
commit | 4bf98826f1b20d0d3b068310c3142a7b17dc0ca5 (patch) | |
tree | b924fd4ee0226ec6e131e3c4e87ae5b366f2be40 | |
parent | b47a3175534da93d5452090f5c16f1a4ac1893d8 (diff) |
Refactor codes for instantiate ns
Change-Id: I696b37ad814a27fe6aa1a92b34a90def55f7cd82
Issue-ID: VFC-1306
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r-- | lcm/ns/views/sol/instantiate_ns_views.py | 52 |
1 files changed, 23 insertions, 29 deletions
diff --git a/lcm/ns/views/sol/instantiate_ns_views.py b/lcm/ns/views/sol/instantiate_ns_views.py index 8b8318da..615f43c2 100644 --- a/lcm/ns/views/sol/instantiate_ns_views.py +++ b/lcm/ns/views/sol/instantiate_ns_views.py @@ -23,6 +23,7 @@ from lcm.ns.serializers.sol.inst_ns_serializers import InstantNsReqSerializer from lcm.pub.exceptions import BadRequestException from lcm.ns.const import NS_OCC_BASE_URI from lcm.ns.serializers.sol.pub_serializers import ProblemDetailsSerializer +from .common import view_safe_call_with_log logger = logging.getLogger(__name__) @@ -35,37 +36,30 @@ class InstantiateNsView(APIView): status.HTTP_500_INTERNAL_SERVER_ERROR: ProblemDetailsSerializer() } ) + @view_safe_call_with_log(logger=logger) def post(self, request, ns_instance_id): logger.debug("Enter InstantiateNsView::post::ns_instance_id=%s", ns_instance_id) logger.debug("request.data=%s", request.data) - try: - req_serializer = InstantNsReqSerializer(data=request.data) - if not req_serializer.is_valid(): - logger.debug("request.data is not valid,error: %s" % req_serializer.errors) - raise BadRequestException(req_serializer.errors) - InstantNsReq = request.data - if "additionalParamsForVnf" in InstantNsReq: - InstantNsReq['locationConstraints'] = [] - for additionalParamsForVnf in InstantNsReq["additionalParamsForVnf"]: - vnf = {} - vnf['vnfProfileId'] = additionalParamsForVnf['vnfProfileId'] - vnf['locationConstraints'] = {'vimId': additionalParamsForVnf['additionalParams']['vimId']} - vnf['additionalParams'] = additionalParamsForVnf['additionalParams'] - InstantNsReq['locationConstraints'].append(vnf) + req_serializer = InstantNsReqSerializer(data=request.data) + if not req_serializer.is_valid(): + logger.debug("request.data is not valid,error: %s" % req_serializer.errors) + raise BadRequestException(req_serializer.errors) - ack = InstantNSService(ns_instance_id, request.data).do_biz() - nsLcmOpOccId = ack['occ_id'] - response = Response(data={}, status=status.HTTP_202_ACCEPTED) - logger.debug("Location: %s" % ack['occ_id']) - response["Location"] = NS_OCC_BASE_URI % nsLcmOpOccId - logger.debug("Leave InstantiateNsView::post::ack=%s", ack) - return response - except BadRequestException as e: - logger.error("Exception in InstantiateNsView: %s", e.message) - data = {'status': status.HTTP_400_BAD_REQUEST, 'detail': e.message} - return Response(data=data, status=status.HTTP_400_BAD_REQUEST) - except Exception as e: - logger.error("Exception in InstantiateNsView: %s", e.message) - data = {'status': status.HTTP_500_INTERNAL_SERVER_ERROR, 'detail': e.message} - return Response(data=data, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + InstantNsReq = request.data + if "additionalParamsForVnf" in InstantNsReq: + InstantNsReq['locationConstraints'] = [] + for additionalParamsForVnf in InstantNsReq["additionalParamsForVnf"]: + vnf = {} + vnf['vnfProfileId'] = additionalParamsForVnf['vnfProfileId'] + vnf['locationConstraints'] = {'vimId': additionalParamsForVnf['additionalParams']['vimId']} + vnf['additionalParams'] = additionalParamsForVnf['additionalParams'] + InstantNsReq['locationConstraints'].append(vnf) + + ack = InstantNSService(ns_instance_id, request.data).do_biz() + nsLcmOpOccId = ack['occ_id'] + response = Response(data={}, status=status.HTTP_202_ACCEPTED) + logger.debug("Location: %s" % ack['occ_id']) + response["Location"] = NS_OCC_BASE_URI % nsLcmOpOccId + logger.debug("Leave InstantiateNsView::post::ack=%s", ack) + return response |