...
Feature Descriptions
Feature | Description | ||
---|---|---|---|
ONAP-ETSI Catalog Manager APIs | ONAP- | SOETSI Catalog | DB Handling for NS, PNF and VNF packagesManager supports APIs for SO and SOL003/SOL005 Adapters |
SO ETSI Catalog DB handling Support for NS, PNF and VNF packages | SDC - SO SDC Controller -retrieves ETSI packages from SDC and stores the packages to ONAP-ETSI Catalog DB thru ONAP-ETSI Catalog ManagerAPIs
| ||
ONAP-ETSI Catalog Manger - SOL003/SOL005 Adapters | SOL003/SOL005 Adapters use ONAP-ETSI Catalog Manager API support for SOL003/SOL005 AdaptersAPIs to retrieve ETSI packages | ||
Epic and User Story
Epic | User Story | Description | In Frankfurt? | JIRA | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ONAP-ETSI Catalog Manager supports ETSI package APIs and storage | ONAP-ETSI Catalog Manager stores supports ETSI packages and provides APIs to its clients | Support ONBOARDING_PACKAGE directory for the original vendor ETSI packages | get the vendor original SOL004 package from the ONBOARDING_PACKAGE directory.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 | 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 | Enhance SO SDC Controller to query SOL004 packages from SDC | Enhance SO SDC Controller to query SOL004 packages from SDC | Enhance SO SDC Controller invoke ONAP-ETSI Catalog APIs to stores ETSI packages to ONAP-ETSI Catalog DB | Enhance SO SDC Controller invoke ONAP-ETSI Catalog APIs to stores ETSI packages to ONAP-ETSI Catalog DB |
SO ETSI Catalog DB Support for NS, VNF and PNF Packages
For the ETSI package storage, SO does the following:
- 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.
- VF-C Catalog DB Microservice
- Database: nfvocatalog (vfc-nfvo-catalog-createdb.sql // create db scripts)
- Database Table (vfc-nfvo-catalog-createobj.sql // create tables scripts)
- Catalog_NSPackage
- Catalog_VNFPackage
- Catalog_PNFPackage
- Catalog_SoftwareImageModel
2.VF-C Catalog (API) Microservice
...
SO to store ETSI packages to the ONAP-ETSI Database
| Yes |
| ||||||||||||||||||||||
Supports the ONBOARDED_PACKAGE directory for the original vendor ETSI package extraction | Gets the vendor original SOL004 package from the ONBOARDED_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 |
| |||||||||||||||||||||
Migrates VF-C catalog to Modeling ONAP-ETSI Catalog Manager as a common component | Migrates VF-C catalog to Modeling ONAP-ETSI Catalog Manager as a common component | Yes |
| |||||||||||||||||||||
SO Catalog Management | SDC - SO SDC Controller - ONAP-ETSI Catalog Manager
|
| ||||||||||||||||||||||
Enhances SO SDC Controller to query SOL004/SOL007 packages from SDC | Enhances SO SDC Controller to query SOL004/SOL007 packages from SDC
| No |
| |||||||||||||||||||||
Enhances SO SDC Controller to invoke ONAP-ETSI Catalog APIs to store ETSI packages to the ONAP-ETSI Catalog DB | Enhances SO SDC Controller to invoke ONAP-ETSI Catalog APIs to stores ETSI packages to the ONAP-ETSI Catalog DB
| Yes |
|
SO ETSI Catalog DB Support for NS, VNF and PNF Packages
For the ETSI package storage, SO does the following:
- 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 has been migrated as a common component, ETSI Catalog Manager Hereinafter, it is called as "ETSI Catalog Manager"
- ETSI Catalog Manager has been enhanced to handle the vendor package in the ONBOARDED_PACKAGE directory.
- ETSI Catalog DB Microservice
- Database: nfvocatalog (vfc-nfvo-catalog-createdb.sql // create db scripts) // vfc prefix should be generalized
- Database Table (vfc-nfvo-catalog-createobj.sql // create tables scripts) . // vfc prefix should be generalized
- Catalog_NSPackage
- Catalog_VNFPackage
- Catalog_PNFPackage
- Catalog_SoftwareImageModel
2.VF-C Catalog (API) Microservice / ETSI Catalog (API) Microservice
- vfc-catalog docker // vfc prefix should be generalized
- ETSI Catalog Manager REST APIs
- ETSI Catalog Manager provides the following Package Management and Package Notification APIs:
- Package Management:
View file name etsicatalog.swagger.json height 250
- Package Management Notification:
View file name etsicatalog.swagger.notification.json height 250
- Package Management:
API descriptions
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
•
- ETSI Catalog Manager provides the following Package Management and Package Notification APIs:
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 model will be stored in the ONAP-ETSI Catalog Manager database.
- Note: SO and other ONAP run-time components could leverage the ONAP-ETSI Catalog Manager function, as a common service.
- Note: in the Frankfurt release, SOL005 Adapter does not support ETSI package management. It is supposed to support the NS package management in Guilin.
Gliffy Diagram | ||||
---|---|---|---|---|
|
- ONAP-ETSI 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.
- For now, both SDC AID DM and original vendor package will be stored
- Supports its Query operations for SOL003/SOL005 Adapters
- The Catalog Manager will provide the original vendor packages to 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 and NS package management will be supported.
- The following diagram depicts the component interactions for VNF Package store for ONAP runtime.
Gliffy Diagram | ||||
---|---|---|---|---|
|
- 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\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 |
- ONAP-ETSI Catalog Manager POST API will be used to store the VNF packages
- POST /api/catalog/v1/vnfpackages // passing csarId, vimIds and labVimId
- Operation Requirements
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 |
SO Catalog Modelling
- 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 and Catalog_Softwareimage will be resided in the ONAP-ETSI Catalog DB.
- Based on the CSAR UUID, the ONAP-ETSI Catalog Manager gets all the artifacts and files from SDC to fulfill the Catalog_***Package and Catalog_Softwareimage.
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 |
...
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.
- 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 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 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.
Gliffy Diagram | ||||
---|---|---|---|---|
|
- 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 POST API will be used to store the VNF packages
- POST /api/catalog/v1/vnfpackages // passing csarId, vimIds and labVimId
- SO Catalog Model
<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.
SO Catalog Modelling
- 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_UUIDMULTI_STAGE_DESIGN varchar(20) *CDS_BLUEPRINT_NAME varchar(200) <<FK>> SERVICE_CATEGORY*CDS_BLUEPRINT_VERSION varchar(20020) } entity "toscacatalog_csarvnfpackage" as toscacatalog_csarvnfpackage { *ARTIFACT_UUIDVNFPACKAGEID` varchar(50) <<PK>> -- VNFPACKAGEURI` varchar(300) NULL, SDCCSARURI` varchar(300) NULL, CHECKSUM` varchar(20050) <<PK>>NULL, -- *NAMEONBOARDINGSTATE` varchar(20020) NULL, *VERSIONOPERATIONALSTATE` varchar(20) NULL, DESCRIPTIONUSAGESTATE` varchar(120020) NULL, *ARTIFACT_CHECKSUMDELETIONPENDING` varchar(20020) NULL, *URLVNFDID` varchar(20050) NULL, *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>>VENDOR` varchar(50) NULL, VNFDPRODUCTNAME` varchar(50) NULL, VNFDVERSION` varchar(20) NULL, VNFSOFTWAREVERSION` varchar(20) NULL, USERDEFINEDDATA` longtext NULL, LOCALFILEPATH` varchar(300) NULL, VNFDMODEL` longtext NULL } entity "servicecatalog_receipenspackage" as servicecatalog_receipenspackage { *id int(11) <<PK>> -- *ACTION NSPACKAGEID` varchar(50) *VERSION_STR varchar(20) *DESCRIPTION varchar(1200) *ORCHESTRATION_URI varchar(256 <<PK>> -- NSPACKAGEURI varchar(300) *SERVICE_PARAM_XSDCHECKSUM varchar(204850) RECIPE_TIMEOUTSDCCSARID intvarchar(1150) *SERVICE_TIMEOUT_INTERIM int(11ONBOARDINGSTATE varchar(20) *CREATION_TIMESTAMP datetimeOPERATIONALSTATE varchar(20) *SERVICE_MODEL_UUIDUSAGESTATE varchar(20020) <<FK>> } entity "vnf_resource" as vnf_resource {DELETIONPENDING varchar(20) *MODEL_UUIDNSDID varchar(20050) <<PK>> -- NSDNAME varchar(50) *MODEL_INVARIENT_UUIDNSDDESIGNER varchar(20050) *MODEL_VERSIONNSDDESCRIPTION varchar(200100) *MODEL_NAMENSDVERSION varchar(20020) *TOSCA_NODE_TYPEUSERDEFINEDDATA longtext LOCALFILEPATH varchar(200300) DESCRIPTION varchar(1200)NSDMODEL longtext *ORCHESTRATION_MODEINVARIANTID varchar(2050) } entity "catalog_pnfpackage" as *AIC_VERSION_MIN varchar(20)catalog_pnfpackage { *AIC_VERSION_MAXPNFPACKAGEID varchar(20)50) <<PK>> -- *CREATION_TIME datetimePNFPACKAGEURI varchar(300) *HEAT_TEMPLATE_ARTIFACT_UUIDSDCCSARURI varchar(200300) *RESOURCE_CATEGORYCHECKSUM varchar(20050) *RESORCE_SUB_CATEGORYONBOARDINGSTATE varchar(20020) 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_DESIGNUSAGESTATE varchar(20) DELETIONPENDING varchar(20) PNFDID varchar(50) VENDOR varchar(50) PNFDPRODUCTNAME varchar(50) PNFDVERSION varchar(20) PNFSOFTWAREVERSION varchar(20) USERDEFINEDDATA longtext LOCALFILEPATH varchar(300) PNFDMODEL longtext PNFDNAME varchar(100) } entity "catalog_softwareimage" as catalog_softwareimage { *IMAGEID varchar(50) <<PK>> -- CONTAINERFORMAT varchar(20) DISKFORMAT varchar(20) *CDS_BLUEPRINT_NAMEMINDISK varchar(20020) *CDS_BLUEPRINT_VERSIONMINRAM varchar(20) *SKIP_POST_INITIATION_CONFIGURATIONUSAERMETADATA varchar(201024) } entity "pnf_resource" as pnf_resource {VNFPACKAGEID varchar(50) *MODEL_CUSTOMIZATION_UUIDFILEPATH varchar(200300) <<PK>> -- STATUS varchar(10) *MODEL_INVARIANT_UUIDVIMID varchar(20050) } service *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
}|--|| 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 |
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
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 | ||
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 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 VNF package\n(original vendor package) ONAP_ETSI_Catalog_API -> SOL003_Adapter : response with NS/VNF/PNF package\n (original vendor package) end group SOL005 SOL005_Adapter -> ONAP_ETSI_Catalog_API -> SOL005_Adapter : Requestresponse forwith NS/VNF/PNF package,\nGET .../api/catalog/v1/nspackages/{csarId},\nGET .../api/catalog/v1/vnfpackages/{csarId} ONAP_ETSI_Catalog_API\n(original vendor package) SOL005_Adapter -> ONAP_ETSI_Catalog_DBExt_NFVO : Queryresponse forwith 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 @endumlend @enduml |
- ONAP-ETSI 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.
- Need to pass artifacts (images) to VIM thru the Adapter
- Get the original vendor VNF package
- Retrieving VNFD for SOL003 Adapter
- Retrieving NSD/VNFD for SOL005 Adapter
- GET /nspackages/{csarId} // query NS package info
- More SOL005 Adapter requirements are being collected.
Operation Requirements
- ONAP-ETSI Catalog Manager provides RESTful services to Adapters:ETSI package management for the Adapters.GET
API Action Actor Method Endpoint URI Description Query ETSI VNF package SOL003 Adapter GET - Need to pass artifacts (images) to VIM thru the Adapter
- Get the original vendor VNF package
- Retrieving VNFD for SOL003 Adapter Retrieving NSD/VNFD for
/api/catalog/v1/vnfpackages/{csarId} |
Invoke a SOL004 VNF package from ONAP-ETSI Catalog Query ETSI NS Package
// query NS package infoMore SOL005 Adapter requirements are being collected.SOL005 Adapter GET /nspackages/{csarId} Query NS Package info from the ONAP-ETSI Catalog