logger.error("[%s] is not distributed.", vnfd_name)
raise CatalogException("VNF package(%s) is not distributed." % vnfd_id)
+ for pnf in nsd["pnfs"]:
+ pnfd_id = pnf["properties"].get("descriptor_id", "undefined")
+ if pnfd_id == "undefined":
+ pnfd_id = pnf["properties"].get("id", "undefined")
+ pkg = PnfPackageModel.objects.filter(pnfdId=pnfd_id)
+ if not pkg:
+ pnfd_name = pnf.get("vnf_id", "undefined")
+ logger.error("[%s] is not distributed.", pnfd_name)
+ raise CatalogException("VNF package(%s) is not distributed." % pnfd_name)
+
ns_pkgs.update(
nsdId=nsd_id,
nsdName=nsd_name,
from catalog.packages.const import PKG_STATUS
from catalog.packages.tests.const import nsd_data
from catalog.pub.config.config import CATALOG_ROOT_PATH
-from catalog.pub.database.models import NSPackageModel, VnfPackageModel
+from catalog.pub.database.models import NSPackageModel, VnfPackageModel, PnfPackageModel
from catalog.pub.utils import toscaparser
vnfPackageId="111",
vnfdId="vcpe_vfw_zte_1_0"
).save()
+
+ PnfPackageModel(
+ pnfPackageId="112",
+ pnfdId="m6000_s"
+ ).save()
+
NSPackageModel(
nsPackageId='22',
operationalState='DISABLED',
from django.test import Client
from catalog.pub.utils import restcall, toscaparser
-from catalog.pub.database.models import NSPackageModel, VnfPackageModel
+from catalog.pub.database.models import NSPackageModel, VnfPackageModel, PnfPackageModel
from catalog.pub.msapi import sdc
"distributionStatus": "DISTRIBUTED"
}]), '200']
VnfPackageModel(vnfPackageId="1", vnfdId="vcpe_vfw_zte_1_0").save()
+ PnfPackageModel(pnfPackageId="1", pnfdId="m6000_s").save()
resp = self.client.post(
"/api/catalog/v1/nspackages", {"csarId": "1"}, format='json')
self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)