From: biancunkang Date: Thu, 23 Aug 2018 06:32:42 +0000 (+0800) Subject: Deal with nfPackage X-Git-Tag: 1.2.0~83^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F85%2F61985%2F3;p=vfc%2Fnfvo%2Fcatalog.git Deal with nfPackage deal with query_multiple Change-Id: Ia3ced7055b0e37fb4be5ef57bf66edc12a9ce63f Issue-ID: VFC-1038 Signed-off-by: biancunkang --- diff --git a/catalog/packages/biz/vnf_package.py b/catalog/packages/biz/vnf_package.py index aa8ee5af..1b77d577 100644 --- a/catalog/packages/biz/vnf_package.py +++ b/catalog/packages/biz/vnf_package.py @@ -50,16 +50,14 @@ def create_vnf_pkg(data): def query_multiple(): - # TODO - data = { - "id": "1", - "onboardingState": "CREATED", - "operationalState": "DISABLED", - "usageState": "NOT_IN_USE", - "userDefinedData": "1", - "_links": None - } - return data + pkgs_info = [] + nf_pkgs = VnfPackageModel.objects.filter() + if not nf_pkgs.exists(): + raise CatalogException('VNF packages do not exist.') + for nf_pkg in nf_pkgs: + ret = query_single(nf_pkg.vnfPackageId) + pkgs_info.append(ret) + return pkgs_info def query_single(vnfPkgId): diff --git a/catalog/packages/serializers/vnf_pkg_infos.py b/catalog/packages/serializers/vnf_pkg_infos.py new file mode 100644 index 00000000..592ed071 --- /dev/null +++ b/catalog/packages/serializers/vnf_pkg_infos.py @@ -0,0 +1,20 @@ +# Copyright 2018 ZTE Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from rest_framework import serializers +from vnf_pkg_info import VnfPkgInfoSerializer + + +class VnfPkgInfosSerializer(serializers.Serializer): + child = VnfPkgInfoSerializer() diff --git a/catalog/packages/views/vnf_package_views.py b/catalog/packages/views/vnf_package_views.py index 447152e2..4915f20c 100644 --- a/catalog/packages/views/vnf_package_views.py +++ b/catalog/packages/views/vnf_package_views.py @@ -25,6 +25,7 @@ from catalog.pub.exceptions import CatalogException from catalog.packages.serializers.upload_vnf_pkg_from_uri_req import UploadVnfPackageFromUriRequestSerializer from catalog.packages.serializers.create_vnf_pkg_info_req import CreateVnfPkgInfoRequestSerializer from catalog.packages.serializers.vnf_pkg_info import VnfPkgInfoSerializer +from catalog.packages.serializers.vnf_pkg_infos import VnfPkgInfosSerializer from catalog.packages.biz.vnf_package import create_vnf_pkg, query_multiple, VnfpkgUploadThread, \ query_single, delete_single @@ -36,7 +37,7 @@ logger = logging.getLogger(__name__) operation_description="Query multiple VNF package resource", request_body=no_body, responses={ - status.HTTP_200_OK: VnfPkgInfoSerializer(), + status.HTTP_200_OK: VnfPkgInfosSerializer(), status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error" } ) @@ -52,23 +53,23 @@ logger = logging.getLogger(__name__) @api_view(http_method_names=["GET", "POST"]) def vnf_packages_rc(request): if request.method == 'GET': - logger.debug("Query VNF Packages> %s" % request.data) + logger.debug("Query VNF packages> %s" % request.data) try: res = query_multiple() - query_serializer = VnfPkgInfoSerializer(data=res) + query_serializer = VnfPkgInfosSerializer(data=res) if not query_serializer.is_valid(): raise CatalogException return Response(data=query_serializer.data, status=status.HTTP_200_OK) except CatalogException: logger.error(traceback.format_exc()) - return Response(data={'error': 'Query vnfPkg failed.'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + return Response(data={'error': 'Query VNF package failed.'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) except Exception as e: logger.error(e.message) logger.error(traceback.format_exc()) return Response(data={'error': 'unexpected exception'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) if request.method == 'POST': - logger.debug("CreateVnfPkg> %s" % request.data) + logger.debug("Create VNF package> %s" % request.data) try: req_serializer = CreateVnfPkgInfoRequestSerializer(data=request.data) if not req_serializer.is_valid(): @@ -80,7 +81,7 @@ def vnf_packages_rc(request): return Response(data=create_vnf_pkg_resp_serializer.data, status=status.HTTP_201_CREATED) except CatalogException: logger.error(traceback.format_exc()) - return Response(data={'error': 'Create vnfPkg failed.'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + return Response(data={'error': 'Create VNF package failed.'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) except Exception as e: logger.error(e.message) logger.error(traceback.format_exc()) @@ -98,7 +99,7 @@ def vnf_packages_rc(request): ) @api_view(http_method_names=['PUT']) def upload_vnf_pkg_content(request, vnfPkgId): - logger.debug("UploadVnf %s" % vnfPkgId) + logger.debug("Upload VNF package %s" % vnfPkgId) file_object = request.FILES.get('file') upload_path = os.path.join(CATALOG_ROOT_PATH, vnfPkgId) if not os.path.exists(upload_path): @@ -133,7 +134,7 @@ def upload_vnf_pkg_from_uri(request, vnfPkgId): return Response(None, status=status.HTTP_202_ACCEPTED) except CatalogException: logger.error(traceback.format_exc()) - return Response(data={'error': 'Upload vnfPkg failed.'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + return Response(data={'error': 'Upload VNF package failed.'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) except Exception as e: logger.error(e.message) logger.error(traceback.format_exc())