summaryrefslogtreecommitdiffstats
path: root/catalog/pub/database
diff options
context:
space:
mode:
authordyh <dengyuanhong@chinamobile.com>2019-09-04 09:52:48 +0800
committerdyh <dengyuanhong@chinamobile.com>2019-09-04 16:09:26 +0800
commita32c2b20207885d895bd96204cc166fca14db97b (patch)
tree1edd33368158dc5f057a0a9475dced3df6c3b24c /catalog/pub/database
parent431a5a35a8e0a26d21c663167303696db8a7a2a6 (diff)
update for change to etsicatalog
Change-Id: Idc2a6950960a324964500a8c4701be422de2b782 Issue-ID: MODELING-216 Signed-off-by: dyh <dengyuanhong@chinamobile.com>
Diffstat (limited to 'catalog/pub/database')
-rw-r--r--catalog/pub/database/__init__.py13
-rw-r--r--catalog/pub/database/admin.py361
-rw-r--r--catalog/pub/database/migrations/0001_initial.py229
-rw-r--r--catalog/pub/database/migrations/__init__.py13
-rw-r--r--catalog/pub/database/models.py234
5 files changed, 850 insertions, 0 deletions
diff --git a/catalog/pub/database/__init__.py b/catalog/pub/database/__init__.py
new file mode 100644
index 0000000..c7b6818
--- /dev/null
+++ b/catalog/pub/database/__init__.py
@@ -0,0 +1,13 @@
+# Copyright 2017 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.
diff --git a/catalog/pub/database/admin.py b/catalog/pub/database/admin.py
new file mode 100644
index 0000000..bff70cb
--- /dev/null
+++ b/catalog/pub/database/admin.py
@@ -0,0 +1,361 @@
+# Copyright 2019 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 django.contrib import admin
+
+from catalog.pub.database.models import NSPackageModel
+from catalog.pub.database.models import ServicePackageModel
+from catalog.pub.database.models import VnfPackageModel
+from catalog.pub.database.models import PnfPackageModel
+from catalog.pub.database.models import SoftwareImageModel
+from catalog.pub.database.models import JobModel
+from catalog.pub.database.models import JobStatusModel
+from catalog.pub.database.models import NsdmSubscriptionModel
+from catalog.pub.database.models import VnfPkgSubscriptionModel
+
+
+@admin.register(NSPackageModel)
+class NSPackageModelAdmin(admin.ModelAdmin):
+ list_display_links = ('nsPackageId', 'nsdName')
+ fields = [
+ "nsPackageId",
+ "nsPackageUri",
+ "checksum",
+ "sdcCsarId",
+ "onboardingState",
+ "operationalState",
+ "usageState",
+ "deletionPending",
+ "nsdId",
+ "invariantId",
+ "nsdName",
+ "nsdDesginer",
+ "nsdDescription",
+ "nsdVersion",
+ "userDefinedData",
+ "localFilePath",
+ "nsdModel"
+ ]
+
+ list_display = [
+ "nsPackageId",
+ "nsPackageUri",
+ "checksum",
+ "sdcCsarId",
+ "onboardingState",
+ "operationalState",
+ "usageState",
+ "deletionPending",
+ "nsdId",
+ "invariantId",
+ "nsdName",
+ "nsdDesginer",
+ "nsdDescription",
+ "nsdVersion",
+ "userDefinedData",
+ "localFilePath",
+ "nsdModel"
+ ]
+
+ search_fields = (
+ "nsPackageId",
+ "nsdId",
+ "nsdName",
+ "sdcCsarId"
+ )
+
+
+@admin.register(ServicePackageModel)
+class ServicePackageModelAdmin(admin.ModelAdmin):
+ list_display_links = ('servicePackageId', 'servicedName')
+ fields = [
+ "servicePackageId",
+ "servicePackageUri",
+ "checksum",
+ "sdcCsarId",
+ "onboardingState",
+ "operationalState",
+ "usageState",
+ "deletionPending",
+ "servicedId",
+ "invariantId",
+ "servicedName",
+ "servicedDesigner",
+ "servicedDescription",
+ "servicedVersion",
+ "userDefinedData",
+ "localFilePath",
+ "servicedModel"
+ ]
+
+ list_display = [
+ "servicePackageId",
+ "servicePackageUri",
+ "checksum",
+ "sdcCsarId",
+ "onboardingState",
+ "operationalState",
+ "usageState",
+ "deletionPending",
+ "servicedId",
+ "invariantId",
+ "servicedName",
+ "servicedDesigner",
+ "servicedDescription",
+ "servicedVersion",
+ "userDefinedData",
+ "localFilePath",
+ "servicedModel"
+ ]
+
+ search_fields = (
+ "servicePackageId",
+ "sdcCsarId",
+ "servicedName",
+ "onboardingState"
+ )
+
+
+@admin.register(VnfPackageModel)
+class VnfPackageModelAdmin(admin.ModelAdmin):
+ list_display_links = ('vnfPackageId', 'vnfdId')
+ fields = [
+ "vnfPackageId",
+ "vnfPackageUri",
+ "SdcCSARUri",
+ "checksum",
+ "onboardingState",
+ "operationalState",
+ "usageState",
+ "deletionPending",
+ "vnfdId",
+ "vnfVendor",
+ "vnfdProductName",
+ "vnfdVersion",
+ "vnfSoftwareVersion",
+ "userDefinedData",
+ "localFilePath",
+ "vnfdModel"
+ ]
+
+ list_display = [
+ "vnfPackageId",
+ "vnfPackageUri",
+ "SdcCSARUri",
+ "checksum",
+ "onboardingState",
+ "operationalState",
+ "usageState",
+ "deletionPending",
+ "vnfdId",
+ "vnfVendor",
+ "vnfdProductName",
+ "vnfdVersion",
+ "vnfSoftwareVersion",
+ "userDefinedData",
+ "localFilePath",
+ "vnfdModel"
+ ]
+
+ search_fields = (
+ "vnfPackageId",
+ "onboardingState",
+ "vnfdId"
+ )
+
+
+@admin.register(PnfPackageModel)
+class PnfPackageModelAdmin(admin.ModelAdmin):
+ list_display_links = ('pnfPackageId', 'pnfdId')
+ fields = [
+ "pnfPackageId",
+ "pnfPackageUri",
+ "sdcCSARUri",
+ "checksum",
+ "onboardingState",
+ "usageState",
+ "deletionPending",
+ "pnfdId",
+ "pnfVendor",
+ "pnfdProductName",
+ "pnfdVersion",
+ "pnfSoftwareVersion",
+ "userDefinedData",
+ "localFilePath",
+ "pnfdModel",
+ "pnfdName"
+ ]
+
+ list_display = [
+ "pnfPackageId",
+ "pnfPackageUri",
+ "sdcCSARUri",
+ "checksum",
+ "onboardingState",
+ "usageState",
+ "deletionPending",
+ "pnfdId",
+ "pnfVendor",
+ "pnfdProductName",
+ "pnfdVersion",
+ "pnfSoftwareVersion",
+ "userDefinedData",
+ "localFilePath",
+ "pnfdModel",
+ "pnfdName"
+ ]
+
+ search_fields = (
+ "pnfPackageId",
+ "onboardingState",
+ "pnfdId"
+ )
+
+
+@admin.register(SoftwareImageModel)
+class SoftwareImageModelAdmin(admin.ModelAdmin):
+ list_display_links = ('imageid', 'vnfPackageId')
+ fields = [
+ "imageid",
+ "containerFormat",
+ "diskFormat",
+ "mindisk",
+ "minram",
+ "usermetadata",
+ "vnfPackageId",
+ "filePath",
+ "status",
+ "vimid"
+ ]
+
+ list_display = [
+ "imageid",
+ "containerFormat",
+ "diskFormat",
+ "mindisk",
+ "minram",
+ "usermetadata",
+ "vnfPackageId",
+ "filePath",
+ "status",
+ "vimid"
+ ]
+
+ search_fields = (
+ "imageid",
+ "vnfPackageId",
+ "vimid"
+ )
+
+
+@admin.register(NsdmSubscriptionModel)
+class NsdmSubscriptionModelAdmin(admin.ModelAdmin):
+ list_display_links = ('subscriptionid', 'notificationTypes')
+ fields = [
+ "subscriptionid",
+ "notificationTypes",
+ "auth_info",
+ "callback_uri",
+ "nsdInfoId",
+ "nsdId",
+ "nsdName",
+ "nsdVersion",
+ "nsdDesigner",
+ "nsdInvariantId",
+ "vnfPkgIds",
+ "pnfdInfoIds",
+ "nestedNsdInfoIds",
+ "nsdOnboardingState",
+ "nsdOperationalState",
+ "nsdUsageState",
+ "pnfdId",
+ "pnfdName",
+ "pnfdVersion",
+ "pnfdProvider",
+ "pnfdInvariantId",
+ "pnfdOnboardingState",
+ "pnfdUsageState",
+ "links"
+ ]
+
+ list_display = [
+ "subscriptionid",
+ "notificationTypes",
+ "auth_info",
+ "callback_uri",
+ "nsdInfoId",
+ "nsdId",
+ "nsdName",
+ "nsdVersion",
+ "nsdDesigner",
+ "nsdInvariantId",
+ "vnfPkgIds",
+ "pnfdInfoIds",
+ "nestedNsdInfoIds",
+ "nsdOnboardingState",
+ "nsdOperationalState",
+ "nsdUsageState",
+ "pnfdId",
+ "pnfdName",
+ "pnfdVersion",
+ "pnfdProvider",
+ "pnfdInvariantId",
+ "pnfdOnboardingState",
+ "pnfdUsageState",
+ "links"
+ ]
+
+ search_fields = (
+ "subscriptionid",
+ "notificationTypes"
+ )
+
+
+@admin.register(VnfPkgSubscriptionModel)
+class VnfPkgSubscriptionModelAdmin(admin.ModelAdmin):
+ list_display_links = ('subscription_id', 'notification_types')
+ fields = [
+ "subscription_id",
+ "callback_uri",
+ "auth_info",
+ "usage_states",
+ "notification_types",
+ "vnfd_id",
+ "vnf_pkg_id",
+ "operation_states",
+ "vnf_products_from_provider",
+ "links"
+ ]
+
+ list_display = [
+ "subscription_id",
+ "callback_uri",
+ "auth_info",
+ "usage_states",
+ "notification_types",
+ "vnfd_id",
+ "vnf_pkg_id",
+ "operation_states",
+ "vnf_products_from_provider",
+ "links"
+ ]
+
+ search_fields = (
+ "subscription_id",
+ "notification_types"
+ )
+
+
+admin.site.register(JobModel)
+admin.site.register(JobStatusModel)
diff --git a/catalog/pub/database/migrations/0001_initial.py b/catalog/pub/database/migrations/0001_initial.py
new file mode 100644
index 0000000..98ca84c
--- /dev/null
+++ b/catalog/pub/database/migrations/0001_initial.py
@@ -0,0 +1,229 @@
+# Copyright 2019 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.
+# Generated by Django 1.11.9 on 2019-04-16 03:53
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='JobModel',
+ fields=[
+ ('jobid', models.CharField(db_column='JOBID', max_length=255, primary_key=True, serialize=False)),
+ ('jobtype', models.CharField(db_column='JOBTYPE', max_length=255)),
+ ('jobaction', models.CharField(db_column='JOBACTION', max_length=255)),
+ ('resid', models.CharField(db_column='RESID', max_length=255)),
+ ('status', models.IntegerField(blank=True, db_column='STATUS', null=True)),
+ ('starttime', models.CharField(blank=True, db_column='STARTTIME', max_length=255, null=True)),
+ ('endtime', models.CharField(blank=True, db_column='ENDTIME', max_length=255, null=True)),
+ ('progress', models.IntegerField(blank=True, db_column='PROGRESS', null=True)),
+ ('user', models.CharField(blank=True, db_column='USER', max_length=255, null=True)),
+ ('parentjobid', models.CharField(blank=True, db_column='PARENTJOBID', max_length=255, null=True)),
+ ('resname', models.CharField(blank=True, db_column='RESNAME', max_length=255, null=True)),
+ ],
+ options={
+ 'db_table': 'CATALOG_JOB',
+ },
+ ),
+ migrations.CreateModel(
+ name='JobStatusModel',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('indexid', models.IntegerField(db_column='INDEXID')),
+ ('jobid', models.CharField(db_column='JOBID', max_length=255)),
+ ('status', models.CharField(db_column='STATUS', max_length=255)),
+ ('progress', models.IntegerField(blank=True, db_column='PROGRESS', null=True)),
+ ('descp', models.TextField(db_column='DESCP', max_length=65535)),
+ ('errcode', models.CharField(blank=True, db_column='ERRCODE', max_length=255, null=True)),
+ ('addtime', models.CharField(blank=True, db_column='ADDTIME', max_length=255, null=True)),
+ ],
+ options={
+ 'db_table': 'CATALOG_JOB_STATUS',
+ },
+ ),
+ migrations.CreateModel(
+ name='NsdmSubscriptionModel',
+ fields=[
+ ('subscriptionid', models.CharField(db_column='SUBSCRIPTIONID', max_length=255, primary_key=True, serialize=False)),
+ ('notificationTypes', models.TextField(db_column='NOTIFICATIONTYPES', null=True)),
+ ('auth_info', models.TextField(db_column='AUTHINFO', null=True)),
+ ('callback_uri', models.CharField(db_column='CALLBACKURI', max_length=255)),
+ ('nsdInfoId', models.TextField(db_column='NSDINFOID', null=True)),
+ ('nsdId', models.TextField(db_column='NSDID', null=True)),
+ ('nsdName', models.TextField(db_column='NSDNAME', null=True)),
+ ('nsdVersion', models.TextField(db_column='NSDVERSION', null=True)),
+ ('nsdDesigner', models.TextField(db_column='NSDDESIGNER', null=True)),
+ ('nsdInvariantId', models.TextField(db_column='NSDINVARIANTID', null=True)),
+ ('vnfPkgIds', models.TextField(db_column='VNFPKGIDS', null=True)),
+ ('pnfdInfoIds', models.TextField(db_column='PNFDINFOIDS', null=True)),
+ ('nestedNsdInfoIds', models.TextField(db_column='NESTEDNSDINFOIDS', null=True)),
+ ('nsdOnboardingState', models.TextField(db_column='NSDONBOARDINGSTATE', null=True)),
+ ('nsdOperationalState', models.TextField(db_column='NSDOPERATIONALSTATE', null=True)),
+ ('nsdUsageState', models.TextField(db_column='NSDUSAGESTATE', null=True)),
+ ('pnfdId', models.TextField(db_column='PNFDID', null=True)),
+ ('pnfdName', models.TextField(db_column='PNFDNAME', null=True)),
+ ('pnfdVersion', models.TextField(db_column='PNFDVERSION', null=True)),
+ ('pnfdProvider', models.TextField(db_column='PNFDPROVIDER', null=True)),
+ ('pnfdInvariantId', models.TextField(db_column='PNFDINVARIANTID', null=True)),
+ ('pnfdOnboardingState', models.TextField(db_column='PNFDONBOARDINGSTATE', null=True)),
+ ('pnfdUsageState', models.TextField(db_column='PNFDUSAGESTATE', null=True)),
+ ('links', models.TextField(db_column='LINKS')),
+ ],
+ options={
+ 'db_table': 'CATALOG_NSDM_SUBSCRIPTION',
+ },
+ ),
+ migrations.CreateModel(
+ name='NSPackageModel',
+ fields=[
+ ('nsPackageId', models.CharField(db_column='NSPACKAGEID', max_length=50, primary_key=True, serialize=False)),
+ ('nsPackageUri', models.CharField(blank=True, db_column='NSPACKAGEURI', max_length=300, null=True)),
+ ('checksum', models.CharField(blank=True, db_column='CHECKSUM', max_length=50, null=True)),
+ ('sdcCsarId', models.CharField(blank=True, db_column='SDCCSARID', max_length=50, null=True)),
+ ('onboardingState', models.CharField(blank=True, db_column='ONBOARDINGSTATE', max_length=20, null=True)),
+ ('operationalState', models.CharField(blank=True, db_column='OPERATIONALSTATE', max_length=20, null=True)),
+ ('usageState', models.CharField(blank=True, db_column='USAGESTATE', max_length=20, null=True)),
+ ('deletionPending', models.CharField(blank=True, db_column='DELETIONPENDING', max_length=20, null=True)),
+ ('nsdId', models.CharField(blank=True, db_column='NSDID', max_length=50, null=True)),
+ ('invariantId', models.CharField(blank=True, db_column='INVARIANTID', max_length=50, null=True)),
+ ('nsdName', models.CharField(blank=True, db_column='NSDNAME', max_length=50, null=True)),
+ ('nsdDesginer', models.CharField(blank=True, db_column='NSDDESIGNER', max_length=50, null=True)),
+ ('nsdDescription', models.CharField(blank=True, db_column='NSDDESCRIPTION', max_length=100, null=True)),
+ ('nsdVersion', models.CharField(blank=True, db_column='NSDVERSION', max_length=20, null=True)),
+ ('userDefinedData', models.TextField(blank=True, db_column='USERDEFINEDDATA', max_length=1024, null=True)),
+ ('localFilePath', models.CharField(blank=True, db_column='LOCALFILEPATH', max_length=300, null=True)),
+ ('nsdModel', models.TextField(blank=True, db_column='NSDMODEL', max_length=65535, null=True)),
+ ],
+ options={
+ 'db_table': 'CATALOG_NSPACKAGE',
+ },
+ ),
+ migrations.CreateModel(
+ name='PnfPackageModel',
+ fields=[
+ ('pnfPackageId', models.CharField(db_column='PNFPACKAGEID', max_length=50, primary_key=True, serialize=False)),
+ ('pnfPackageUri', models.CharField(blank=True, db_column='PNFPACKAGEURI', max_length=300, null=True)),
+ ('sdcCSARUri', models.CharField(blank=True, db_column='SDCCSARURI', max_length=300, null=True)),
+ ('checksum', models.CharField(blank=True, db_column='CHECKSUM', max_length=50, null=True)),
+ ('onboardingState', models.CharField(blank=True, db_column='ONBOARDINGSTATE', max_length=20, null=True)),
+ ('usageState', models.CharField(blank=True, db_column='USAGESTATE', max_length=20, null=True)),
+ ('deletionPending', models.CharField(blank=True, db_column='DELETIONPENDING', max_length=20, null=True)),
+ ('pnfdId', models.CharField(blank=True, db_column='PNFDID', max_length=50, null=True)),
+ ('pnfVendor', models.CharField(blank=True, db_column='VENDOR', max_length=50, null=True)),
+ ('pnfdProductName', models.CharField(blank=True, db_column='PNFDPRODUCTNAME', max_length=50, null=True)),
+ ('pnfdVersion', models.CharField(blank=True, db_column='PNFDVERSION', max_length=20, null=True)),
+ ('pnfSoftwareVersion', models.CharField(blank=True, db_column='PNFSOFTWAREVERSION', max_length=20, null=True)),
+ ('userDefinedData', models.TextField(blank=True, db_column='USERDEFINEDDATA', max_length=1024, null=True)),
+ ('localFilePath', models.CharField(blank=True, db_column='LOCALFILEPATH', max_length=300, null=True)),
+ ('pnfdModel', models.TextField(blank=True, db_column='PNFDMODEL', max_length=65535, null=True)),
+ ('pnfdName', models.TextField(blank=True, db_column='PNFDNAME', max_length=65535, null=True)),
+ ],
+ options={
+ 'db_table': 'CATALOG_PNFPACKAGE',
+ },
+ ),
+ migrations.CreateModel(
+ name='ServicePackageModel',
+ fields=[
+ ('servicePackageId', models.CharField(db_column='SERVICEPACKAGEID', max_length=50, primary_key=True, serialize=False)),
+ ('servicePackageUri', models.CharField(blank=True, db_column='SERVICEPACKAGEURI', max_length=300, null=True)),
+ ('checksum', models.CharField(blank=True, db_column='CHECKSUM', max_length=50, null=True)),
+ ('sdcCsarId', models.CharField(blank=True, db_column='SDCCSARID', max_length=50, null=True)),
+ ('onboardingState', models.CharField(blank=True, db_column='ONBOARDINGSTATE', max_length=20, null=True)),
+ ('operationalState', models.CharField(blank=True, db_column='OPERATIONALSTATE', max_length=20, null=True)),
+ ('usageState', models.CharField(blank=True, db_column='USAGESTATE', max_length=20, null=True)),
+ ('deletionPending', models.CharField(blank=True, db_column='DELETIONPENDING', max_length=20, null=True)),
+ ('servicedId', models.CharField(blank=True, db_column='SERVICEDID', max_length=50, null=True)),
+ ('invariantId', models.CharField(blank=True, db_column='INVARIANTID', max_length=50, null=True)),
+ ('servicedName', models.CharField(blank=True, db_column='SERVICEDNAME', max_length=50, null=True)),
+ ('servicedDesigner', models.CharField(blank=True, db_column='SERVICEDDESIGNER', max_length=50, null=True)),
+ ('servicedDescription', models.CharField(blank=True, db_column='SERVICEDDESCRIPTION', max_length=100, null=True)),
+ ('servicedVersion', models.CharField(blank=True, db_column='SERVICEDVERSION', max_length=20, null=True)),
+ ('userDefinedData', models.TextField(blank=True, db_column='USERDEFINEDDATA', max_length=1024, null=True)),
+ ('localFilePath', models.CharField(blank=True, db_column='LOCALFILEPATH', max_length=300, null=True)),
+ ('servicedModel', models.TextField(blank=True, db_column='SERVICEDMODEL', max_length=65535, null=True)),
+ ],
+ options={
+ 'db_table': 'CATALOG_SERVICEPACKAGE',
+ },
+ ),
+ migrations.CreateModel(
+ name='SoftwareImageModel',
+ fields=[
+ ('imageid', models.CharField(db_column='IMAGEID', max_length=50, primary_key=True, serialize=False)),
+ ('containerFormat', models.CharField(db_column='CONTAINERFORMAT', max_length=20)),
+ ('diskFormat', models.CharField(db_column='DISKFORMAT', max_length=20)),
+ ('mindisk', models.CharField(db_column='MINDISK', max_length=20)),
+ ('minram', models.CharField(db_column='MINRAM', max_length=20)),
+ ('usermetadata', models.CharField(db_column='USAERMETADATA', max_length=1024)),
+ ('vnfPackageId', models.CharField(db_column='VNFPACKAGEID', max_length=50)),
+ ('filePath', models.CharField(db_column='FILEPATH', max_length=300)),
+ ('status', models.CharField(db_column='STATUS', max_length=10)),
+ ('vimid', models.CharField(db_column='VIMID', max_length=50)),
+ ],
+ options={
+ 'db_table': 'CATALOG_SOFTWAREIMAGEMODEL',
+ },
+ ),
+ migrations.CreateModel(
+ name='VnfPackageModel',
+ fields=[
+ ('vnfPackageId', models.CharField(db_column='VNFPACKAGEID', max_length=50, primary_key=True, serialize=False)),
+ ('vnfPackageUri', models.CharField(blank=True, db_column='VNFPACKAGEURI', max_length=300, null=True)),
+ ('SdcCSARUri', models.CharField(blank=True, db_column='SDCCSARURI', max_length=300, null=True)),
+ ('checksum', models.CharField(blank=True, db_column='CHECKSUM', max_length=50, null=True)),
+ ('onboardingState', models.CharField(blank=True, db_column='ONBOARDINGSTATE', max_length=20, null=True)),
+ ('operationalState', models.CharField(blank=True, db_column='OPERATIONALSTATE', max_length=20, null=True)),
+ ('usageState', models.CharField(blank=True, db_column='USAGESTATE', max_length=20, null=True)),
+ ('deletionPending', models.CharField(blank=True, db_column='DELETIONPENDING', max_length=20, null=True)),
+ ('vnfdId', models.CharField(blank=True, db_column='VNFDID', max_length=50, null=True)),
+ ('vnfVendor', models.CharField(blank=True, db_column='VENDOR', max_length=50, null=True)),
+ ('vnfdProductName', models.CharField(blank=True, db_column='VNFDPRODUCTNAME', max_length=50, null=True)),
+ ('vnfdVersion', models.CharField(blank=True, db_column='VNFDVERSION', max_length=20, null=True)),
+ ('vnfSoftwareVersion', models.CharField(blank=True, db_column='VNFSOFTWAREVERSION', max_length=20, null=True)),
+ ('userDefinedData', models.TextField(blank=True, db_column='USERDEFINEDDATA', max_length=1024, null=True)),
+ ('localFilePath', models.CharField(blank=True, db_column='LOCALFILEPATH', max_length=300, null=True)),
+ ('vnfdModel', models.TextField(blank=True, db_column='VNFDMODEL', max_length=65535, null=True)),
+ ],
+ options={
+ 'db_table': 'CATALOG_VNFPACKAGE',
+ },
+ ),
+ migrations.CreateModel(
+ name='VnfPkgSubscriptionModel',
+ fields=[
+ ('subscription_id', models.CharField(db_column='SUBSCRIPTION_ID', max_length=255, primary_key=True, serialize=False)),
+ ('callback_uri', models.URLField(db_column='CALLBACK_URI', max_length=255)),
+ ('auth_info', models.TextField(db_column='AUTH_INFO')),
+ ('usage_states', models.TextField(db_column='USAGE_STATES')),
+ ('notification_types', models.TextField(db_column='NOTIFICATION_TYPES')),
+ ('vnfd_id', models.TextField(db_column='VNFD_ID')),
+ ('vnf_pkg_id', models.TextField(db_column='VNF_PKG_ID')),
+ ('operation_states', models.TextField(db_column='OPERATION_STATES')),
+ ('vnf_products_from_provider', models.TextField(db_column='VNF_PRODUCTS_FROM_PROVIDER')),
+ ('links', models.TextField(db_column='LINKS')),
+ ],
+ options={
+ 'db_table': 'VNF_PKG_SUBSCRIPTION',
+ },
+ ),
+ ]
diff --git a/catalog/pub/database/migrations/__init__.py b/catalog/pub/database/migrations/__init__.py
new file mode 100644
index 0000000..0c847b7
--- /dev/null
+++ b/catalog/pub/database/migrations/__init__.py
@@ -0,0 +1,13 @@
+# Copyright 2019 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.
diff --git a/catalog/pub/database/models.py b/catalog/pub/database/models.py
new file mode 100644
index 0000000..9f0b498
--- /dev/null
+++ b/catalog/pub/database/models.py
@@ -0,0 +1,234 @@
+# Copyright 2016-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 django.db import models
+
+
+class NSPackageModel(models.Model):
+ nsPackageId = models.CharField(db_column='NSPACKAGEID', primary_key=True, max_length=50)
+ 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
+ nsdId = models.CharField(db_column='NSDID', max_length=50, blank=True, null=True)
+ invariantId = models.CharField(db_column='INVARIANTID', max_length=50, blank=True, null=True) # nsdInvariantId
+ nsdName = models.CharField(db_column='NSDNAME', max_length=50, blank=True, null=True)
+ nsdDesginer = models.CharField(db_column='NSDDESIGNER', max_length=50, null=True, blank=True)
+ nsdDescription = models.CharField(db_column='NSDDESCRIPTION', max_length=100, null=True, blank=True)
+ nsdVersion = models.CharField(db_column='NSDVERSION', max_length=20, null=True, blank=True)
+ userDefinedData = models.TextField(db_column='USERDEFINEDDATA', max_length=1024, blank=True, null=True) # userDefinedData
+ localFilePath = models.CharField(db_column='LOCALFILEPATH', max_length=300, null=True, blank=True)
+ nsdModel = models.TextField(db_column='NSDMODEL', max_length=65535, null=True, blank=True)
+
+ class Meta:
+ db_table = 'CATALOG_NSPACKAGE'
+
+
+class ServicePackageModel(models.Model):
+ servicePackageId = models.CharField(db_column='SERVICEPACKAGEID', primary_key=True, max_length=50)
+ servicePackageUri = models.CharField(db_column='SERVICEPACKAGEURI', 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
+ servicedId = models.CharField(db_column='SERVICEDID', max_length=50, blank=True, null=True)
+ invariantId = models.CharField(db_column='INVARIANTID', max_length=50, blank=True, null=True) # servicedInvariantId
+ servicedName = models.CharField(db_column='SERVICEDNAME', max_length=50, blank=True, null=True)
+ servicedDesigner = models.CharField(db_column='SERVICEDDESIGNER', max_length=50, null=True, blank=True)
+ servicedDescription = models.CharField(db_column='SERVICEDDESCRIPTION', max_length=100, null=True, blank=True)
+ servicedVersion = models.CharField(db_column='SERVICEDVERSION', max_length=20, null=True, blank=True)
+ userDefinedData = models.TextField(db_column='USERDEFINEDDATA', max_length=1024, blank=True, null=True) # userDefinedData
+ localFilePath = models.CharField(db_column='LOCALFILEPATH', max_length=300, null=True, blank=True)
+ servicedModel = models.TextField(db_column='SERVICEDMODEL', max_length=65535, null=True, blank=True)
+
+ class Meta:
+ db_table = 'CATALOG_SERVICEPACKAGE'
+
+
+class VnfPackageModel(models.Model):
+ # uuid = models.CharField(db_column='UUID', primary_key=True, max_length=255)
+ vnfPackageId = models.CharField(db_column='VNFPACKAGEID', primary_key=True, max_length=50) # onboardedVnfPkgInfoId
+ 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
+ vnfdId = models.CharField(db_column='VNFDID', max_length=50, blank=True, null=True) # vnfdId
+ vnfVendor = models.CharField(db_column='VENDOR', max_length=50, blank=True, null=True) # vnfProvider
+ vnfdProductName = models.CharField(db_column='VNFDPRODUCTNAME', max_length=50, blank=True, null=True) # vnfProductName
+ vnfdVersion = models.CharField(db_column='VNFDVERSION', max_length=20, blank=True, null=True) # vnfdVersion
+ vnfSoftwareVersion = models.CharField(db_column='VNFSOFTWAREVERSION', max_length=20, blank=True, null=True) # vnfSoftwareVersion
+ userDefinedData = models.TextField(db_column='USERDEFINEDDATA', max_length=1024, blank=True, null=True) # userDefinedData
+ localFilePath = models.CharField(db_column='LOCALFILEPATH', max_length=300, null=True, blank=True)
+ vnfdModel = models.TextField(db_column='VNFDMODEL', max_length=65535, blank=True, null=True) # vnfd
+
+ class Meta:
+ db_table = 'CATALOG_VNFPACKAGE'
+
+
+class PnfPackageModel(models.Model):
+ # uuid = models.CharField(db_column='UUID', primary_key=True, max_length=255)
+ pnfPackageId = models.CharField(db_column='PNFPACKAGEID', primary_key=True, max_length=50) # onboardedPnfPkgInfoId
+ pnfPackageUri = models.CharField(db_column='PNFPACKAGEURI', 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)
+ 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
+ pnfdId = models.CharField(db_column='PNFDID', max_length=50, blank=True, null=True) # pnfdId
+ pnfVendor = models.CharField(db_column='VENDOR', max_length=50, blank=True, null=True) # pnfProvider
+ pnfdProductName = models.CharField(db_column='PNFDPRODUCTNAME', max_length=50, blank=True, null=True) # pnfProductName
+ pnfdVersion = models.CharField(db_column='PNFDVERSION', max_length=20, blank=True, null=True) # pnfdVersion
+ pnfSoftwareVersion = models.CharField(db_column='PNFSOFTWAREVERSION', max_length=20, blank=True, null=True) # pnfSoftwareVersion
+ userDefinedData = models.TextField(db_column='USERDEFINEDDATA', max_length=1024, blank=True, null=True) # userDefinedData
+ localFilePath = models.CharField(db_column='LOCALFILEPATH', max_length=300, null=True, blank=True)
+ pnfdModel = models.TextField(db_column='PNFDMODEL', max_length=65535, blank=True, null=True) # pnfd
+ pnfdName = models.TextField(db_column='PNFDNAME', max_length=65535, blank=True, null=True) # pnfd_name
+
+ class Meta:
+ db_table = 'CATALOG_PNFPACKAGE'
+
+
+class SoftwareImageModel(models.Model):
+ imageid = models.CharField(db_column='IMAGEID', primary_key=True, max_length=50)
+ containerFormat = models.CharField(db_column='CONTAINERFORMAT', max_length=20)
+ diskFormat = models.CharField(db_column='DISKFORMAT', max_length=20)
+ mindisk = models.CharField(db_column='MINDISK', max_length=20)
+ minram = models.CharField(db_column='MINRAM', max_length=20)
+ usermetadata = models.CharField(db_column='USAERMETADATA', max_length=1024)
+ vnfPackageId = models.CharField(db_column='VNFPACKAGEID', max_length=50)
+ filePath = models.CharField(db_column='FILEPATH', max_length=300)
+ status = models.CharField(db_column='STATUS', max_length=10)
+ vimid = models.CharField(db_column='VIMID', max_length=50)
+ # filetype = models.CharField(db_column='FILETYPE', max_length=2)
+ # vimuser = models.CharField(db_column='VIMUSER', max_length=50)
+ # tenant = models.CharField(db_column='TENANT', max_length=50)
+ # purpose = models.CharField(db_column='PURPOSE', max_length=1000)
+
+ class Meta:
+ db_table = 'CATALOG_SOFTWAREIMAGEMODEL'
+
+
+class JobModel(models.Model):
+ jobid = models.CharField(db_column='JOBID', primary_key=True, max_length=255)
+ jobtype = models.CharField(db_column='JOBTYPE', max_length=255)
+ jobaction = models.CharField(db_column='JOBACTION', max_length=255)
+ resid = models.CharField(db_column='RESID', max_length=255)
+ status = models.IntegerField(db_column='STATUS', null=True, blank=True)
+ starttime = models.CharField(db_column='STARTTIME', max_length=255, null=True, blank=True)
+ endtime = models.CharField(db_column='ENDTIME', max_length=255, null=True, blank=True)
+ progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
+ user = models.CharField(db_column='USER', max_length=255, null=True, blank=True)
+ parentjobid = models.CharField(db_column='PARENTJOBID', max_length=255, null=True, blank=True)
+ resname = models.CharField(db_column='RESNAME', max_length=255, null=True, blank=True)
+
+ class Meta:
+ db_table = 'CATALOG_JOB'
+
+ def toJSON(self):
+ import json
+ return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
+
+
+class JobStatusModel(models.Model):
+ indexid = models.IntegerField(db_column='INDEXID')
+ jobid = models.CharField(db_column='JOBID', max_length=255)
+ status = models.CharField(db_column='STATUS', max_length=255)
+ progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
+ descp = models.TextField(db_column='DESCP', max_length=65535)
+ errcode = models.CharField(db_column='ERRCODE', max_length=255, null=True, blank=True)
+ addtime = models.CharField(db_column='ADDTIME', max_length=255, null=True, blank=True)
+
+ class Meta:
+ db_table = 'CATALOG_JOB_STATUS'
+
+ def toJSON(self):
+ import json
+ return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
+
+
+class NsdmSubscriptionModel(models.Model):
+ subscriptionid = models.CharField(db_column='SUBSCRIPTIONID', max_length=255, primary_key=True)
+ notificationTypes = models.TextField(db_column='NOTIFICATIONTYPES', null=True)
+ auth_info = models.TextField(db_column='AUTHINFO', null=True)
+ callback_uri = models.CharField(db_column='CALLBACKURI', max_length=255)
+ nsdInfoId = models.TextField(db_column='NSDINFOID', null=True)
+ nsdId = models.TextField(db_column='NSDID', null=True)
+ nsdName = models.TextField(db_column='NSDNAME', null=True)
+ nsdVersion = models.TextField(db_column='NSDVERSION', null=True)
+ nsdDesigner = models.TextField(db_column='NSDDESIGNER', null=True)
+ nsdInvariantId = models.TextField(db_column='NSDINVARIANTID', null=True)
+ vnfPkgIds = models.TextField(db_column='VNFPKGIDS', null=True)
+ pnfdInfoIds = models.TextField(db_column='PNFDINFOIDS', null=True)
+ nestedNsdInfoIds = models.TextField(db_column='NESTEDNSDINFOIDS', null=True)
+ nsdOnboardingState = models.TextField(db_column='NSDONBOARDINGSTATE', null=True)
+ nsdOperationalState = models.TextField(db_column='NSDOPERATIONALSTATE', null=True)
+ nsdUsageState = models.TextField(db_column='NSDUSAGESTATE', null=True)
+ pnfdId = models.TextField(db_column='PNFDID', null=True)
+ pnfdName = models.TextField(db_column='PNFDNAME', null=True)
+ pnfdVersion = models.TextField(db_column='PNFDVERSION', null=True)
+ pnfdProvider = models.TextField(db_column='PNFDPROVIDER', null=True)
+ pnfdInvariantId = models.TextField(db_column='PNFDINVARIANTID', null=True)
+ pnfdOnboardingState = models.TextField(db_column='PNFDONBOARDINGSTATE', null=True)
+ pnfdUsageState = models.TextField(db_column='PNFDUSAGESTATE', null=True)
+ links = models.TextField(db_column='LINKS')
+
+ class Meta:
+ db_table = 'CATALOG_NSDM_SUBSCRIPTION'
+
+ def toJSON(self):
+ import json
+ return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
+
+
+class VnfPkgSubscriptionModel(models.Model):
+ subscription_id = models.CharField(max_length=255, primary_key=True, db_column='SUBSCRIPTION_ID')
+ callback_uri = models.URLField(db_column="CALLBACK_URI", max_length=255)
+ auth_info = models.TextField(db_column="AUTH_INFO")
+ usage_states = models.TextField(db_column="USAGE_STATES")
+ notification_types = models.TextField(db_column="NOTIFICATION_TYPES")
+ vnfd_id = models.TextField(db_column="VNFD_ID")
+ vnf_pkg_id = models.TextField(db_column="VNF_PKG_ID")
+ operation_states = models.TextField(db_column="OPERATION_STATES")
+ vnf_products_from_provider = \
+ models.TextField(db_column="VNF_PRODUCTS_FROM_PROVIDER")
+ links = models.TextField(db_column="LINKS")
+
+ class Meta:
+ db_table = 'VNF_PKG_SUBSCRIPTION'
+
+ def toDict(self):
+ import json
+ subscription_obj = {
+ "id": self.subscription_id,
+ "callbackUri": self.callback_uri,
+ "_links": json.loads(self.links)
+ }
+ filter_obj = {
+ "notificationTypes": json.loads(self.notification_types),
+ "vnfdId": json.loads(self.vnfd_id),
+ "vnfPkgId": json.loads(self.vnf_pkg_id),
+ "operationalState": json.loads(self.operation_states),
+ "usageState": json.loads(self.usage_states),
+ "vnfProductsFromProviders": json.loads(self.vnf_products_from_provider)
+ }
+ subscription_obj["filter"] = filter_obj
+ return subscription_obj