<<Note: this is a working draft. The contents will be added/deleted/corrected/updated as needed.>>
Feature | Description |
---|---|
ONAP-ETSI Catalog Manager APIs | ONAP-ETSI Catalog Manager supports APIs for SO and SOL003/SOL005 Adapters |
SO ETSI Catalog DB Support for NS, PNF and VNF packages | SO retrieves ETSI packages from SDC and stores the packages to ONAP-ETSI Catalog DB thru ONAP-ETSI Catalog APIs
|
ONAP-ETSI Catalog Manger - SOL003/SOL005 Adapters | SOL003/SOL005 Adapters use ONAP-ETSI Catalog Manager APIs to retrieve ETSI packages |
Epic | User Story | Description | In Frankfurt? | JIRA |
---|---|---|---|---|
ONAP-ETSI Catalog Manager supports ETSI package APIs and storage | ONAP-ETSI Catalog Manager supports ETSI package APIs and storage for ETSI packages in runtime | Yes | ||
Provides APIs for SO to store ETSI packages to the ONAP-ETSI Database | Provides APIs for SO to store ETSI packages to the ONAP-ETSI Database | Yes | ||
Support the ONBOARDING_PACKAGE directory for the original vendor ETSI package extraction | Get the vendor original SOL004 package from the ONBOARDING_PACKAGE directory. | Yes | ||
Provides APIs for the SOL003/SOL005 Adapter to retrieve the original vendor VNF packages | Provides APIs for the SOL003 Adapter to retrieve the original vendor VNF packages | Yes | ||
Provides APIs for the SOL005 Adapter to retrieve the original vendor NS/PNF packages | Provides APIs for the SOL005 Adapter to retrieve the original vendor NS/PNF packages | Yes | ||
SO Catalog Management | SDC - SO SDC Controller - ONAP-ETSI Catalog Manager | |||
Enhance SO SDC Controller to query SOL004/SOL007 packages from SDC | Enhance SO SDC Controller to query SOL004/SOL007 packages from SDC | Yes | ||
Enhance SO SDC Controller invoke ONAP-ETSI Catalog APIs to store ETSI packages to the ONAP-ETSI Catalog DB | Enhance SO SDC Controller invoke ONAP-ETSI Catalog APIs to stores ETSI packages to the ONAP-ETSI Catalog DB
| Yes |
For the ETSI package storage, SO does the following:
Instead of building ONAP-ETSI Catalog management in SO, SO will leverage the existing ONAP-ETSI Catalog Manager function.
2.VF-C Catalog (API) Microservice
The following APIs are part of VF-C Swagger REST APIs. For the complete ApIs, https://docs.onap.org/en/latest/_downloads/0fea611e8b07fb4042e1a66ce202898c/CATALOG_API_Specification_v1.json
NS Package Management | VNF Package Management | PNF Management |
---|---|---|
•GET /nspackages // query NS package info •POST /nspackages // NS package distribute / create •GET /nspackages/{csarId} // query NS package info •DELETE /nspackages/{csarId} // delete NS package | •GET /vnfpackages //query vnf package info •POST /vnfpackages // vnf package distribute / create •GET /vnfpackages/{csarId} // query vnf package info •DELETE /vnfpackages/{csarId} // delete vnf package •PUT /vnfpackages/{csarId}. // create/upload vnf package | •GET /pnf_descriptors •POST /pnf_descriptors •GET /pnf_descriptors/{pnfdInfoId} •DELETE /pnf_descriptors/{pnfdInfoId} |
Model Parsing | Job Management (used for async LCM) | More… |
•POST /parsernsd // NS package model •POST /parservnfd // VNF package model | •GET /jobs/{jobId} // Job Status •POST /jobs/{jobId} // Update Job Status | • |
The following diagram depicts a possible ONAP-ETSI Catalog DB handling for NS, VNF and PNF Packages.
@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\n (pass CSAR id) 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 |
API Action | Actor | Method | Endpoint URI | Description |
---|---|---|---|---|
Store ETSI package | SDC Controller | POST | /api/catalog/v1/vnfpackages | Invoke the ONAP-ETSI Catalog to store SOL004 VNF packages to ONAP-ETSI Catalog DB |
@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 } entity "catalog_softwareimage" as catalog_softwareimage { *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 tosca_csar .. catalog_softwareimage @enduml |
As the diagram depicts, ETSI Catalog Manager consists of two microservices:
@startuml participant ONAP_ETSI_Catalog_API participant ONAP_ETSI_Catalog_DB participant SOL003_Adapter participant SOL005_Adapter participant VNFM participant Ext_NFVO autonumber hnote over ONAP_ETSI_Catalog_API, ONAP_ETSI_Catalog_DB : Precondition: VNF/NS/PNF package is successfully stored\nto ONAP-ETSI Catalog DB SOL003_Adapter -> ONAP_ETSI_Catalog_API : Subscribe for VNF Package notification\nVnfPackageOnboardingNotification, VnfPackageChangeNotification SOL005_Adapter -> ONAP_ETSI_Catalog_API : Subscribe for NSD and PNFD notification\nNsdOnboardingNotification, NsdChangeNotification, NsdDeletionNotification\nPnfdOnboardingNotification, PnfDeletionNotification ONAP_ETSI_Catalog_API -> SOL003_Adapter : Send VNF Package onboarding/change notification SOL003_Adapter -> VNFM : Send VNF onboarding/change notification ONAP_ETSI_Catalog_API -> SOL005_Adapter : Send NSD/PNFD onboarding/change notification SOL005_Adapter -> Ext_NFVO : Send NSD/PNFD onboarding/change notification group SOL003 VNFM -> SOL003_Adapter : Request for VNF package 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) SOL003_Adapter -> VNFM : response with VNF package end group SOL005 Ext_NFVO -> SOL005_Adapter : Request for NS/VNF/PNF package 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) SOL005_Adapter -> Ext_NFVO : response with NS/VNF/PNF package end @enduml |
API Action | Actor | Method | Endpoint URI | Description |
---|---|---|---|---|
Query ETSI VNF package | SOL003 Adapter | GET | /api/catalog/v1/vnfpackages/{csarId} | Invoke a SOL004 VNF package from ONAP-ETSI Catalog |
Query ETSI NS Package | SOL005 Adapter | GET | /nspackages/{csarId} | Query NS Package info from the ONAP-ETSI Catalog |