user_defined_data = ignore_case_get(data, "userDefinedData")
vnfPkgId = str(uuid.uuid4())
VnfPackageModel.objects.create(
- vnfPackageId=vnfPkgId
+ vnfPackageId=vnfPkgId,
+ onboardingState="CREATED",
+ operationalState="DISABLED",
+ usageState="NOT_IN_USE",
+ userDefinedData=user_defined_data
)
data = {
"id": vnfPkgId,
return data
+def query_multiple():
+ # TODO
+ data = {
+ "id": "1",
+ "onboardingState": "CREATED",
+ "operationalState": "DISABLED",
+ "usageState": "NOT_IN_USE",
+ "userDefinedData": "1",
+ "_links": None
+ }
+ return data
+
+
class NfDistributeThread(threading.Thread):
"""
Sdc NF Package Distribute
from catalog.packages.serializers.upload_vnf_pkg_from_uri_req import UploadVnfPackageFromUriRequestSerializer\r
from catalog.packages.serializers.create_vnf_pkg_info_req import CreateVnfPkgInfoRequestSerializer\r
from catalog.packages.serializers.vnf_pkg_info import VnfPkgInfoSerializer\r
-from catalog.packages.biz.nf_package import create_vnf_pkg\r
+from catalog.packages.biz.nf_package import create_vnf_pkg, query_multiple\r
\r
logger = logging.getLogger(__name__)\r
\r
class vnf_packages(APIView):\r
@swagger_auto_schema(\r
responses={\r
- # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_200_OK: VnfPkgInfoSerializer(),\r
status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
}\r
)\r
def get(self, request):\r
- # TODO\r
- return None\r
+ logger.debug("Query VNF Packages> %s" % request.data)\r
+ try:\r
+ res = query_multiple()\r
+ query_serializer = VnfPkgInfoSerializer(data=res)\r
+ if not query_serializer.is_valid():\r
+ raise CatalogException\r
+ return Response(data=query_serializer.data, status=status.HTTP_200_OK)\r
+ except CatalogException:\r
+ logger.error(traceback.format_exc())\r
+ return Response(data={'error': 'Querying vnfPkg failed.'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)\r
+ except Exception as e:\r
+ logger.error(e.message)\r
+ logger.error(traceback.format_exc())\r
+ return Response(data={'error': 'unexpected exception'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)\r
\r
@swagger_auto_schema(\r
request_body=CreateVnfPkgInfoRequestSerializer(),\r
except CatalogException:\r
logger.error(traceback.format_exc())\r
return Response(data={'error': 'Creating vnfPkg failed.'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)\r
+ except Exception as e:\r
+ logger.error(e.message)\r
+ logger.error(traceback.format_exc())\r
+ return Response(data={'error': 'unexpected exception'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)\r
\r
\r
class vnf_package(APIView):\r
nsPackageUri = models.CharField(db_column='NSPACKAGEURI', max_length=300, null=True, blank=True)
checksum = models.CharField(db_column='CHECKSUM', max_length=50, null=True, blank=True) # checksum
sdcCsarId = models.CharField(db_column='SDCCSARID', max_length=50, null=True, blank=True) # SdcCSARUri
- onboardingState = models.CharField(db_column='ONBOARDINGSTATE', max_length=20, blank=True, null=True)
operationalState = models.CharField(db_column='OPERATIONALSTATE', max_length=20, blank=True, null=True) # operationalState
usageState = models.CharField(db_column='USAGESTATE', max_length=20, blank=True, null=True) # usageState
deletionPending = models.CharField(db_column='DELETIONPENDING', max_length=20, blank=True, null=True) # deletionPending
vnfPackageUri = models.CharField(db_column='VNFPACKAGEURI', max_length=300, null=True, blank=True) # downloadUri
SdcCSARUri = models.CharField(db_column='SDCCSARURI', max_length=300, null=True, blank=True) # SdcCSARUri
checksum = models.CharField(db_column='CHECKSUM', max_length=50, null=True, blank=True) # checksum
+ onboardingState = models.CharField(db_column='ONBOARDINGSTATE', max_length=20, blank=True, null=True)
operationalState = models.CharField(db_column='OPERATIONALSTATE', max_length=20, blank=True, null=True) # operationalState
usageState = models.CharField(db_column='USAGESTATE', max_length=20, blank=True, null=True) # usageState
deletionPending = models.CharField(db_column='DELETIONPENDING', max_length=20, blank=True, null=True) # deletionPending