<<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 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

ONAP-ETSI Catalog Manager APIsONAP-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

  • ETSI package distribution support from SDC → SO SDC Controller → ONAP-ETSI Catalog Manager
ONAP-ETSI Catalog Manger - SOL003/SOL005 AdaptersSOL003/SOL005 Adapters use ONAP-ETSI Catalog Manager APIs 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 supports ETSI package APIs and storage for ETSI packages in runtimeYes

VFC-1542 - Getting issue details... STATUS


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

etsicatalog.swagger.json

Yes

VFC-1543 - Getting issue details... STATUS


Supports the ONBOARDED_PACKAGE directory for the original vendor ETSI package extractionGets the vendor original SOL004 package from the ONBOARDED_PACKAGE directory.Yes

VFC-1544 - Getting issue details... STATUS


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 

etsicatalog.swagger.jsonetsicatalog.swagger.notification.json

Yes

VFC-1545 - Getting issue details... STATUS


Provides APIs for the SOL005 Adapter to retrieve the original vendor NS/PNF packagesProvides APIs for the SOL005 Adapter to retrieve the original vendor NS/PNF packagesYes

VFC-1546 - Getting issue details... STATUS


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

VFC-1552 - Getting issue details... STATUS

SO Catalog Management

SDC - SO SDC Controller - ONAP-ETSI Catalog Manager

  • SDC supports SOL004/SOL007 package onboarding
  • SO SDC Controller invokes ETSI Catalog Manager if the incoming package is SOL004/SOL007-based
  • ETSI Catalog Manager queries SDC CSAR files for the given CSAR ID and stores the original vendor package into the ETSI Catalog Database

SO-2404 - Getting issue details... STATUS


Enhances SO SDC Controller to query SOL004/SOL007 packages from SDC

Enhances SO SDC Controller to query SOL004/SOL007 packages from SDC

  • SO SDC Controller receives SDC notification for SOL004 packages
  • SO SDC Controller queries SDC for SOL004 CSAR files
  • SO SDC Controller receives SDC notification for SOL007 packages
  • SO SDC Controller queries SDC for SOL007 CSAR files
No

SO-2405 - Getting issue details... STATUS


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

  • SO stores ONBOARDED_PACKAGE zip/csar files in the ONAP-ETSI Catalog DB through ONAP-ETSI Catalog Manager APIs
  • SO parses the SDC CSAR/zip file to find out if the package contains the ONBOARDED_PACKAGE artifact folder.
    • If it contains the folder, SO invokes the ETSI Catalog Manager by passing the SDC csar id, on top of the existing procedure.
    • Otherwise, it is NON-ETSI package, and SO will follow the existing procedure only
Yes

SO-2406 - Getting issue details... STATUS

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.
  1. 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:
    • 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

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.

SDC-SO SDC Controller-ETSI Catalog Manager2

  • 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.

SDC-SO SDC Controller-ETSI Catalog Manager 3


  • Interfaces between SDC Controller and ONAP-ETSI Catalog Manager

SDC_Controller SDC_Controller SO_Catalog_DB SO_Catalog_DB ONAP_ETSI_Catalog_API ONAP_ETSI_Catalog_API ONAP_ETSI_Catalog_DB ONAP_ETSI_Catalog_DB SDC SDC 1Store metadata and non-ETSI models 2Initiate for storing ETSI NS/VNF/PNF models,POST .../api/catalog/v1/vnfpackages(pass CSAR id) 3Retrieve ETSI NS/VNF/PNF Models (files) 4Response with requested models (files) 5Store package 6Response with success/failure

  • 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 ActionActorMethodEndpoint URIDescription
Store ETSI packageSDC ControllerPOST/api/catalog/v1/vnfpackagesInvoke 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
  • 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 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.


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) 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 vnf_resource_customization_to_service SERVICE_MODEL_UUID varchar(200) «PK» RESOURCE_MODEL_CUSTOMIZATION_UUID varchar(200) «PK» pnf_resource_customization_to_service SERVICE_MODEL_UUID varchar(200) «PK» RESOURCE_MODEL_CUSTOMIZATION_UUID varchar(200) «PK» 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» 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 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) 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 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) catalog_vnfpackage VNFPACKAGEID` varchar(50) «PK» VNFPACKAGEURI` varchar(300) NULL,SDCCSARURI` varchar(300) NULL,CHECKSUM` varchar(50) NULL,ONBOARDINGSTATE` varchar(20) NULL,OPERATIONALSTATE` varchar(20) NULL,USAGESTATE` varchar(20) NULL,DELETIONPENDING` varchar(20) NULL,VNFDID` varchar(50) NULL,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 catalog_nspackage NSPACKAGEID` varchar(50) «PK» NSPACKAGEURI varchar(300)CHECKSUM varchar(50)SDCCSARID varchar(50)ONBOARDINGSTATE varchar(20)OPERATIONALSTATE varchar(20)USAGESTATE varchar(20)DELETIONPENDING varchar(20)NSDID varchar(50)NSDNAME varchar(50)NSDDESIGNER varchar(50)NSDDESCRIPTION varchar(100)NSDVERSION varchar(20)USERDEFINEDDATA longtextLOCALFILEPATH varchar(300)NSDMODEL longtextINVARIANTID varchar(50) catalog_pnfpackage PNFPACKAGEID varchar(50) «PK» PNFPACKAGEURI varchar(300)SDCCSARURI varchar(300)CHECKSUM varchar(50)ONBOARDINGSTATE varchar(20)USAGESTATE varchar(20)DELETIONPENDING varchar(20)PNFDID varchar(50)VENDOR varchar(50)PNFDPRODUCTNAME varchar(50)PNFDVERSION varchar(20)PNFSOFTWAREVERSION varchar(20)USERDEFINEDDATA longtextLOCALFILEPATH varchar(300)PNFDMODEL longtextPNFDNAME varchar(100) catalog_softwareimage IMAGEID varchar(50) «PK» CONTAINERFORMAT varchar(20)DISKFORMAT varchar(20)MINDISK varchar(20)MINRAM varchar(20)USAERMETADATA varchar(1024)VNFPACKAGEID varchar(50)FILEPATH varchar(300)STATUS varchar(10)VIMID varchar(50)

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

SDC-SO SDC Controller-ETSI Catalog Manager 4


Interfaces between ONAP-ETSI Catalog Manager and SOL003/SOL005 Adapters


ONAP_ETSI_Catalog_API ONAP_ETSI_Catalog_API ONAP_ETSI_Catalog_DB ONAP_ETSI_Catalog_DB SOL003_Adapter SOL003_Adapter SOL005_Adapter SOL005_Adapter VNFM VNFM Ext_NFVO Ext_NFVO Precondition: VNF/NS/PNF package is successfully storedto ONAP-ETSI Catalog DB 1Subscribe for VNF Package notificationVnfPackageOnboardingNotification, VnfPackageChangeNotification 2Subscribe for NSD and PNFD notificationNsdOnboardingNotification, NsdChangeNotification, NsdDeletionNotificationPnfdOnboardingNotification, PnfDeletionNotification 3Send VNF Package onboarding/change notification 4Send VNF onboarding/change notification 5Send NSD/PNFD onboarding/change notification 6Send NSD/PNFD onboarding/change notification SOL003 7Request for VNF package 8Request for VNF package,GET .../api/catalog/v1/vnfpackages/{csarId} 9Query for VNF package 10response with VNF package(original vendor package) 11response with VNF package(original vendor package) 12response with VNF package SOL005 13Request for NS/VNF/PNF package 14Request for NS/VNF/PNF package,GET .../api/catalog/v1/nspackages/{csarId},GET .../api/catalog/v1/vnfpackages/{csarId} 15Query for NS/VNF/PNF package 16response with NS/VNF/PNF package(original vendor package) 17response with NS/VNF/PNF package(original vendor package) 18response with NS/VNF/PNF package

  • ONAP-ETSI Catalog Manager provides RESTful services to Adapters:
    • ETSI package management for the Adapters.
      • GET /api/catalog/v1/vnfpackages/{csarId}

      • 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

  • API ActionActorMethodEndpoint URIDescription
    Query ETSI VNF packageSOL003 AdapterGET

    /api/catalog/v1/vnfpackages/{csarId}

    Invoke a SOL004 VNF package from  ONAP-ETSI Catalog

    Query ETSI NS Package

    SOL005 AdapterGET/nspackages/{csarId}Query NS Package info from the ONAP-ETSI Catalog





  • No labels