...
<<Note: this is a working draft. The contents will be added/deleted/corrected/updated as needed.>>
Use Case
- ONAP-ETSI Catalog Manager Use Case
- ONAP-ETSI Catalog API Catalog API Manager
- ONAP-ETSI Catalog Database
- SO ETSI Catalog Management
- SDC - SO SDC Controller - ONAP-ETSI Catalog Manager
- SOL003/SOL005 Adapter Interaction with ONAP-ETSI Catalog Manager
Feature Descriptions
Feature | Description |
---|---|
SO ETSI Catalog DB Handling for NS, PNF and VNF packages | SO ETSI Catalog DB handling for NS, PNF and VNF packages |
SDC - SO SDC Controller - ONAP-ETSI Catalog Manager | ETSI package distribution support from SDC → SO SDC Controller → ONAP-ETSI Catalog Manager |
ONAP-ETSI Catalog Manger Catalog Manger - SOL003/SOL005 Adapters | ONAP-ETSI Catalog Manager API support for SOL003/SOL005 Adapters |
...
Epic | User Story | Description |
---|---|---|
ONAP-ETSI Catalog Manager | ONAP-ETSI Catalog Manager stores ETSI packages and provides APIs to its clients | |
Support ONBOARDING_PACKAGE directory for the original vendor ETSI packages | ||
Provides APIs for SO to store ETSI packages to the ETSI Database | ||
Provides APIs for the SOL003 Adapter to retrieve VNF packages | ||
Provides APIs for the SOL005 Adapter to retrieve NS/PNF/VNF packages | ||
SO Package Management | SDC - SO SDC Controller - ONAP-ETSI Catalog Manager | |
SO SDC Controller queries SDC for SOL004 packages | ||
SO SDC Controller stores ETSI packages to ONAP-ETSI Catalog DB thru ONAP-ETSI Catalog APIs |
SO ETSI Catalog DB Support for NS, VNF and PNF Packages
...
- SO (SDC Controller component) queries the package from SDC
- SO stores ETSI (including SDC AID DM) + vendor VNF package CSAR or ZIP
- If the onboarding vendor package is a zip file with signature and certificate, SO stores the vendor VNF package as a zip format.
- Not all VNFD needs to be transformed to the SDC AID DM - TBD
- For Non-ETSI models (Service + Non-ETSI Resource), SO will use the existing SO embedded Catalog DB
Instead of building ONAP-ETSI Catalog management in SO, SO will leverage the existing ONAP-ETSI Catalog Manager function.
- Use VF-C Catalog Microservices for the NS, VNF and PNF catalog support, https://wiki.onap.org/pages/viewpage.action?pageId=63996543
- VFC Catalog Manager function consists of two microservices: VF-C DB and VF-C Catalog. Deployment of these microservices is independent of VF-C, and the microservices have no dependency on other VF-C components – a good stepping stone towards common ONAP-ETSI Catalog management
- VFC Catalog Manager will be enhanced to handle the vendor package in the ONBOARDING_PACKAGE directory.
...
The following diagram depicts a possible ONAP-ETSI Catalog DB handling for NS, VNF and PNF Packages.
- SDC Stores Service models/templates into the existing SO Catalog DB, and ETSI Catalog will be stored in the ONAP-ETSI Catalog Manager database.
- Note: the ONAP-ETSI Catalog Manager function could be realized by the VFC (or equivalent) ONAP-ETSI Catalog API and ETSi ONAP-ETSI Catalog DB Microservices - To be discussed further.
- VF-C DB and Catalog are two Microservices, which they can be deployed independently from VF-C, and they don't have dependency with other VF-C components.
- SO and other ONAP run-time components could leverage the ONAP-ETSI Catalog Manager function, as a common service.
Gliffy Diagram | ||||
---|---|---|---|---|
|
- ONAP-ETSI Catalog Manager Catalog Manager Interfaces
- Supports its NBI for create and update ONAP-ETSI catalog. SDC Controller will uses the NBI.
- Retrieves model artifact files from SDC
- Stores the data to the ONAP-ETSI Catalog DB.
- Supports its Query operations for SOL003/SOL005 Adapters
SO Package Management ( SDC - SO SDC Controller - ONAP-ETSI Catalog Manager)
- SO SDC Controller module (ASDCController and ToscaResourceInstall) needs to be updated for handling SOL004 packages including SOL001 VNFD and PNFD.
- Service-level catalog and other non-ETSI catalog (SDC AID DM) will be stored in SO Catalog DB.
- VNF/PNF/NS-level catalog handling would be simplified:
- By using the ONAP-ETSI Catalog Manager, ETSI VNF/PNF/NS-level catalogs (i.e., original vendor packages) will be stored in ONAP-ETSI Catalog DB
- SO itself does not need to manage ETSI-based VNF LCM; i.e., delegates the LCM to VNFM through the SOL003 VNFM Adapter
- In Frankfurt, VNF package management will be supported.
- The following diagram depicts the component interactions for VNF Package store for ONAP runtime.
...
- Interfaces between SDC Controller and ONAP-ETSI Catalog Manager
PlantUML Macro | ||
---|---|---|
| ||
@startuml participant SDC_Controller participant SO_Catalog_DB participant ONAP_ETSI_Catalog_API participant ONAP_ETSI_Catalog_DB participant SDC autonumber SDC_Controller -> SO_Catalog_DB : Store metadata and non-ETSI models SDC_Controller -> ONAP_ETSI_Catalog_API : Initiate for storing ETSI NS/VNF/PNF models,\nPOST .../api/catalog/v1/vnfpackages ONAP_ETSI_Catalog_API -> SDC : Retrieve ETSI NS/VNF/PNF Models (files) SDC -> ONAP_ETSI_Catalog_API : Response with requested models (files) ONAP_ETSI_Catalog_API -> ONAP_ETSI_Catalog_DB : Store package ONAP_ETSI_Catalog_DB -> ONAP_ETSI_Catalog_API : Response with success/failure @enduml |
- ONAP-ETSI Catalog Manager Catalog Manager POST API will be used to store the VNF packages
- POST /api/catalog/v1/vnfpackages // passing csarId, vimIds and labVimId
...
<describe relationship/association between the existing SO catalog database (service catalog, VNF catalog , Vnf_Resource_customization) and the ONAP-ETSI Catalog database >
- Q&A:
- How does VFC handle VNF packages from SDC? Does it use SDC AID DM? Does it use VF-Modules?
- Answer:
- VF-C supports SDC internal models with the original vendor package and ETSI-based VNF package
- Currently, no VF-Module support from VF-C and SOL003 VNFM Adapter
- VF-Module mapping and handling need to be sorted out.
...
- The service database table has TOSCA_CSAR_ARTIFACT_UUID column. We continue to use this column to link the TOSCA CSAR.
- The TOSCA_CSAR database has a logical relationship with Catalog_NSPackage, Catalog_PNFPackage and Catalog_VNFPackage.
- When a record is entered in the TOSCA_CSAR,
- if the CSAR artifact type is NS, add a NS package into Catalog_NSPackage
- if the CSAR artifact type is VNF, add a VNF package into Catalog_VNFPackage
- if the CSAR artifact type is PNF, add a PNF package into Catalog_NSPackage
- When a record is entered in the TOSCA_CSAR,
- For the SOL004 VNF onboarding into SO,
- SO does not populate data info the VF-Module database table if the VF-Module is not populated in the modeling.
- It depends on the SOL001 VNFD mapping to SDC AID DM whether it populates VF-Modules or not.
- SO does not populate data into the HEAT-Template database table
- Heat-Template is part of the VNF package
- SO invokes the ONAP-ETSI Catalog Manager APIs with the CSAR UUID.
- ToscaResourceInstaller (InstallTheVfResource, InstallThePNFResource) will be modified to invoke the ONAP-ETSI Catalog Manager.
- Note: the NS use case needs to be defined since SDC does not support SOL007 (NS Package) yet.
- The ONAP-ETSI Catalog Manager receives VNF packages and stores them into the ONAP-ETSI Catalog Database Catalog_VNFPackage
- It stores the VNF package as a whole and its APIs can extract the VNFD, artifacts, softwareImage, etc.
- SO does not populate data info the VF-Module database table if the VF-Module is not populated in the modeling.
...
- SO Catalog models and relationships are as follows:
- Note: the relationship between TOSCA_CSAR and Catalog_NSPackage/Catalog_VNFPackage/Catalog_PNFPackage is logical since the Catalog_***Package will be resided in the ONAP-ETSI Catalog DB.
PlantUML Macro | ||
---|---|---|
| ||
@startuml ' hide the spot hide circle ' avoid problems with angled crows feet skinparam linetype ortho entity "service" as service { *MODEL_UUID : varchar(200) <<PK>> -- *MODEL_NAME : varchar(200) *MODEL_INVARIENT_UUID varchar(200) <<generated>> *MODEL_VERSION varchar(20) DESCRIPTION varchar(1200) SERVICE_TYPE varchar(200) SERVICE_ROLE varchar (200) ENVIRONMENT_CONTEXT varchar(200) WORKLOAD_CONTEXT varchar(200) *CREATION_TIMESTAMP datetime *TOSCA_CSAR_ARTIFACT_UUID varchar(200) <<FK>> SERVICE_CATEGORY varchar(200) } entity "tosca_csar" as tosca_csar { *ARTIFACT_UUID varchar(200) <<PK>> -- *NAME varchar(200) *VERSION varchar(20) DESCRIPTION varchar(1200) *ARTIFACT_CHECKSUM varchar(200) *URL varchar(200) *CREATION_TIMESTAMP datatime } entity "vnf_resource_customization_to_service" as vrcts { *SERVICE_MODEL_UUID varchar(200) <<PK>> *RESOURCE_MODEL_CUSTOMIZATION_UUID varchar(200) <<PK>> } entity "pnf_resource_customization_to_service" as prcts { *SERVICE_MODEL_UUID varchar(200) <<PK>> *RESOURCE_MODEL_CUSTOMIZATION_UUID varchar(200) <<PK>> } entity "service_receipe" as service_receipe { *id int(11) <<PK>> -- *ACTION varchar(50) *VERSION_STR varchar(20) *DESCRIPTION varchar(1200) *ORCHESTRATION_URI varchar(256) *SERVICE_PARAM_XSD varchar(2048) RECIPE_TIMEOUT int(11) *SERVICE_TIMEOUT_INTERIM int(11) *CREATION_TIMESTAMP datetime *SERVICE_MODEL_UUID varchar(200) <<FK>> } entity "vnf_resource" as vnf_resource { *MODEL_UUID varchar(200) <<PK>> -- *MODEL_INVARIENT_UUID varchar(200) *MODEL_VERSION varchar(200) *MODEL_NAME varchar(200) *TOSCA_NODE_TYPE varchar(200) DESCRIPTION varchar(1200) *ORCHESTRATION_MODE varchar(20) *AIC_VERSION_MIN varchar(20) *AIC_VERSION_MAX varchar(20) *CREATION_TIME datetime *HEAT_TEMPLATE_ARTIFACT_UUID varchar(200) *RESOURCE_CATEGORY varchar(200) *RESORCE_SUB_CATEGORY varchar(200) VNF_PACKAGE_CSAR_UUID } entity "vnf_resource_customization" as vnf_resource_customization { *MODEL_CUSTOMIZATION_UUID varchar(200) <<PK>> -- *MODEL_INSTANCE_NAME varchar(200) *MIN_INSTANCES int(11) *MAX_INSTANCES int(11) *AVAILABILITY_ZONE_MAX_COUNT int(11) *NF_TYPE varchar(200) *NF_ROLE varchar(200) *NF_FUNCTION varchar(200) *NF_NAMING_CODE varchar(200) *CREATION_TIMESTAMP datetime *VNF_RESOURCE_MODEL_UUID varchar(200) <<FK>> *MULTI_STAGE_DESIGN varchar(20) *CDS_BLUEPRINT_NAME varchar(200) *CDS_BLUEPRINT_VERSION varchar(20) *SKIP_POST_INITIATION_CONFIGURATION varchar(20) } entity "pnf_resource" as pnf_resource { *MODEL_CUSTOMIZATION_UUID varchar(200) <<PK>> -- *MODEL_INVARIANT_UUID varchar(200) *MODEL_VERSION varchar(20) *MODEL_NANME varchar(200) *TOSCA_NODE_TYPE varchar(200) DESCRIPTION varchar(1200) *ORCHESTRATION_MODE varchar(20) *CREATION_TIMESTAMP datetime } entity "pnf_resource_customization" as pnf_resource_customization { *MODEL_CUSTOMIZATION_UUID varchar(200) <<PK>> -- *MODEL_INSTANCE_NAME varchar(200) *AVAILABILITY_ZONE_MAX_COUNT int(11) *NF_TYPE varchar(200) *NF_ROLE varchar(200) *NF_FUNCTION varchar(200) *NF_NAMING_CODE varchar(200) *CREATION_TIMESTAMP datetime *MULTI_STAGE_DESIGN varchar(20) *CDS_BLUEPRINT_NAME varchar(200) *CDS_BLUEPRINT_VERSION varchar(20) } entity "catalog_vnfpackage" as catalog_vnfpackage { *ARTIFACT_UUID varchar(200) <<PK>> -- ... *CREATION_TIMESTAMP datatime } entity "catalog_nspackage" as catalog_nspackage { *ARTIFACT_UUID varchar(200) <<PK>> -- ... *CREATION_TIMESTAMP datatime } entity "catalog_pnfpackage" as catalog_pnfpackage { *ARTIFACT_UUID varchar(200) <<PK>> -- ... *CREATION_TIMESTAMP datatime } service }|--|| tosca_csar service ||--|{ service_receipe service ||--|{ vrcts service ||--|{ prcts vnf_resource ||--|{ vnf_resource_customization pnf_resource ||--|{ pnf_resource_customization vrcts }|--|| vnf_resource_customization prcts }|--|| pnf_resource_customization tosca_csar .. catalog_vnfpackage tosca_csar .. catalog_nspackage tosca_csar .. catalog_pnfpackage @enduml |
ONAP-ETSI
...
Catalog Manager - SOL003/SOL005 Adapter
As the diagram depicts, ETSI Catalog Manager consists of two microservices:
- ONAP-ETSI Catalog API
- ONAP-ETSI Catalog DB
Gliffy Diagram | ||||
---|---|---|---|---|
|
- Interfaces between ONAP-ETSI Catalog Manager and SOL003/SOL005 Adapters
PlantUML Macro | ||
---|---|---|
| ||
@startuml participant ONAP_ETSI_Catalog_API participant ONAP_ETSI_Catalog_DB participant SOL003_Adapter participant SOL005_Adapter participant VNFM participant Ext_NFVO autonumber group SOL003 SOL003_Adapter -> ONAP_ETSI_Catalog_API : Request for VNF package,\nGET .../api/catalog/v1/vnfpackages/{csarId} ONAP_ETSI_Catalog_API -> ONAP_ETSI_Catalog_DB : Query for VNF package ONAP_ETSI_Catalog_DB -> ONAP_ETSI_Catalog_API : response with VNF package\n(original vendor package) ONAP_ETSI_Catalog_API -> SOL003_Adapter : response with VNF package\n (original vendor package) end group SOL005 SOL005_Adapter -> ONAP_ETSI_Catalog_API : Request for NS/VNF/PNF package,\nGET .../api/catalog/v1/nspackages/{csarId},\nGET .../api/catalog/v1/vnfpackages/{csarId} ONAP_ETSI_Catalog_API -> ONAP_ETSI_Catalog_DB : Query for NS/VNF/PNF package ONAP_ETSI_Catalog_DB -> ONAP_ETSI_Catalog_API : response with NS/VNF/PNF package\n(original vendor package) ONAP_ETSI_Catalog_API -> SOL005_Adapter : response with NS/VNF/PNF package\n(original vendor package) end @enduml |
- ONAP-ETSI Catalog Manager Catalog Manager provides RESTful services to Adapters:
- ETSI package management for the Adapters.
- GET /api/catalog/v1/vnfpackages/{csarId}
- ETSI package management for the Adapters.
...