Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

    • Leverage ETSI standards for VNF LCM in SO

    • Build SO VNFM Adapter

      • Use SOL003 APIs (2.5.1) for VNF LCM

      • Support operations such as create, instantiate, grant, terminate/delete, LCN subscription and LCN

      • Support of Delete VNF is a stretch goal in Dublin
    • Enhance SO BPMN workflows & recipes

      • VNF-level Building Block workflows, leveraging VNFM Adapter 

      • Passing VNF LCM requests to VNFM using VNFM Adapter

  • Note: the followings are candidates for the El Alto release.
    • Provide VNF package management for VNFM

    • Policy-based VNF scaling thru VNFM Adapter

    • Support of remaining SOL003 APIs
    • VNF Package handling (Download & Parse VNF Package)
      • Get package files from the SDC repository thru SO
      • Provide VNF package(s), VNFDs and Artifacts to VNFM
      • SO Catalog DB enhancement for SOL001/SOL004 is identified as future release work

...

    • A new SO sub-component, following ONAP Microservice Architecture

    • A Generic VNFM Adapter, supporting SOL003-compliant SVNFMs

    • Support of SOL003 APIs for VNFM LCM
    • SVNFM selection based on configuration values that are configured during VNF on-boarding and VNFM registration. Two methods are considered:
      • Correlation between VNF NF Type and VNFM Type (Nokia method)
      • Utilizing VNFD vnfm_info:type, VNFM registration values: VNFM type, Cloud region, vendor

...

    • Vendor SVNFM must be "SOL003-compliant"
    • Providing SOL003 APIs for VNFM LCM, based on ETSI VNFLifecycleManagement
    • Registration itself to ONAP (thru A&AI ESR) - Name, Type, Vendor, Version, URL, VIM, Username and Password
    • Providing Subscription Services for Life-cycle Management Notifications
    • Support of the "Direct Mode" of Resource Management only
      • After receiving a grant permission, the VNFM sends requests for resources directly to VIM
      • Invoking MultiCloud from VNFM is under discussion, but not for Dublin
      • The "Indirect Mode" of Resource Management is being discussed, but not for Dublin

...

Gliffy Diagram
nameSO VNFM Adapter Architecture Dublin
pagePin35


  • SOL001/SOL004 Standard Conformance

    • VNF Package

      • A VNF Package is a compressed file that contains the following:
        • One VNF descriptor (VNFD)
        • One or more Software Image files
        • Zero or more manifest files
        • Other files
      • Package structure is SOL004 2.5.1 compliant.

      • Note: SDC in Dublin has limitations and restrictions on SOL004 support:
        • SDC does not allow custom directories such as Images, Scripts, Licenses and HOT in the root directory.
        • SDC requires MainServiceTemplate.mf and MainServiceTemplate.yaml in the root directory
        • As a result, in Dublin, the vendor VNF package should follow SDC onboarding rules. These SDC restrictions and limitations plan to be removed in the El Alto release. 
    • Cloud Service Archive (CSAR) format

      • It is a packaging construct defined in SOL004 2.5.1, identified by a .csar suffix on the package file. In SOL004, there are two package options; one with TOSCA-Metadata, one without TOSCA-Metadata directories: 

        • The CSAR file does not contain TOSCA-Metadata directory, the descriptor yaml file is in the root directory of the CSAR.

        • The CSAR file contains TOSCA-Metadata directory, the TOSCA meta file in this directory contains the location and name of the descriptor file denoted by Entry-Definitions

      • In ONAP, the second option (with TOSCA-Metadata) is supported.
      • Note: in SDC El Alto, if the VNF package with certificate and/or signature will be packaged as a zip file. The csar format continues to be used for the package without certificate and/or signature. The zip file without certificate and/or signature will be considered as an HEAT-based package.
    • VNFD

      • It is specified by the SOL001 2.5.1.

      • Note 1: that the input and get_input function would be used by a TOSCA orchestrator at run time to access the selected input parameter. If the deployment is not done by a TOSCA orchestrator, the inputs and get_input function may not be needed. The VNFD design should follow the vendor SVNFM orchestration capabilities. 
      • Note 2: in Dublin, SDC will convert SOL001 VNFD to SDC AID DM, but it is not complete. More mapping design discussions are necessary in El Alto.

...

EpicFeatureDescription

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1508

ETSI Alignment - SO SOL003 plugin support to connect to external VNFMs


ETSI Alignment - SO SOL003 plugin support to connect to an external VNFM. 

  • Leverage ETSI standards for VNF LCM in SO
  • Build SO VNFM Adapter
    • Use SOL003 APIs (2.5.1) for VNF LCM
    • Support operations such as create, instantiate, grant, query, terminate/delete, LCN subscription, LCN and VNF package management
    • Support of Delete VNF is a stretch goal in Dublin
  • Enhance SO BPMN workflows & recipes
    • VNF-level and VF-Module workflows, leveraging VNFM Adapter 
    • Passing VNF LCM requests to VNFM using VNFM Adapter
  •  Provide VNF package management for VNFM (Stretch Goal; under investigation)

...

User StoriesFeatureDescription

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1538

Create the Functional test case to validate VNFM Adapter NBI and SOL003-based SBIValidate VNFM Adapter NBI and SOL003-based SBI

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1618

SVNFM Simulator

For integration testing in ONAP, vendor-neutral SVNFM is needed, 

This SVNFM Simulator supports SOL003-based interfaces and message exchange sequences for interface verification.

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1619

Create SO VNFM Adapter Northbound Interface using SwaggerCreate SO VNFM Adapter Northbound Interface using Swagger

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1620

Create Shell Adapter
  • Deployable VNFM Adapter container in ONAP (including docker image and helm chart)
  • Register VNFM Adapter with MSB

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1621

Create placeholder implementation for create VNF (without SVNFM interaction)
  • Create Override YAML in OOM project
  • Define Create/instantiate VNF interface which log the request in SVNFM adapter
  • Create request to VNFM adapter for VNF creation

Note: manual database update to trigger new BB flow and no pre-load

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1622

Check for existing VNF (with SVNFM Interaction)
  • Update Override YAML to add A&AI basic auth and URL
  • Generate 003 APIs using swagger
  • Get the generic-vnf from A&AI
  • Select a VNFM from A&AI (if not already associated with a VNFM)
  • Check for existing VNF

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1623

Handle Create VNF request in VNFM adapter
  • Get VNFD Id from original csar
  • Send create request to the SVNFM
  • Set self-link based on result of create operation

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1624

Instantiate VNF (with SVNFM Interaction)
  • With pre-load data from SDNC based on model name and VNF-type
  • Get the flavor Id from the CSAR
  • Get the VIM info from A&AI
  • Send request to SVNFM
  • Update generic-vnf orchestration status A&AI

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1625

Handle Grant Request (Without Homing/OOF)Reply to grant request based on given VIM info in request

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1626

Monitor Job Status

Monitor Job Status

  • Adapter Store and return job Id ( job ids stored in cache)
  • Introduce Job monitoring handling in flow
  • Handle time out for Job monitoring ( hard coded/configure in yaml timeout)
  • Identify the VNFM and operation Id for the job
  • Send get operation status request to VNFM
  • Return status

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1627

Create relationship between esr-vnfm and generic-vnf in AAI

Create relationship between esr-vnfm and generic-vnf in AAI

  • add a rule to AAI DBEdgeRule ESR
{ "from": "generic-vnf", "to": "esr-vnfm", "label": "tosca.relationships.DependsOn", "direction": "OUT", "multiplicity": "MANY2ONE", "contains-other-v": "NONE", "delete-other-v": "NONE", "prevent-delete": "NONE", "default": "true", "description":"" }
  • read the relationship in the SO VNFM Adapter Adapter

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1628

Handle Notification Subscription

Notification Subscription

  • Update generic-vnf status
  • Create vServers
  • Set OAM IP address - source of which needs to be configurable
  • Update Orch status in A&AI to completed

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1629

Notification Handling - Instantiate

Notification Handling - Instantiate

  • Update generic-vnf status
  • Create vServers
  • Set OAM IP address - source of which needs to be configurable
  • Update Orch status in A&AI to completed

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1630

Monitor Node Status

Monitor Node Status

  • Introduce Node monitoring handling in flow which periodically check orchestration status in A&AI
  • Handle time out for node status handling (hard coded/configurable timeout)

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1631

Handling Homing in FlowHandling Homing in Flow

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1632

Handle VNF delete and termination (without SVNFM integration)

Deleting/Terminating VNF (without SVNFM integration)

  • Define Terminate/Delete VNF interface in VNFM adapter
  • Update or introduce new building block which invoke VNFM adapter for termination

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1633

Terminate VNF (with SVNFM interaction)

Terminate VNF (with SVNFM interaction)

  • Identify the SVNFM to use from A&AI
  • Send terminate request to SVNFM
  • Send delete request to SVNFM
  • Return a job Id
  • Check termination job status in flow

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1634

Notification Handling - Terminate

Notification Handling - Terminate

  • Delete vServers
  • Update generic-vnf orchestration status
  • Check node termination status in flow

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1635

Remove SDNC pre-load and introduce user_param handling

Remove SDNC pre-load and introduce user_param handling

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1636

Handle Failure case where notification is missed (Query VNF)

Handle Failure case where notification is missed (Query VNF)

  • VNFM Adapter expose interface to get of VNF info
  • Flow use VNF info to check status at timeout

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1637

Spike - investigate OAM IP address handling for generic-vnf

Investigate OAM IP Address handling for generic-vnf

...

Gliffy Diagram
nameSO VNFM Adapter Architecture Dublin
pagePin35


    • SO VNFM Adapter component is a sub component of SO; utilizing docker image and container mangedmanaged.
      • North Bound Interface (NBI)
        • RESTful APIs that support createVnf , instantiateVnf, queryVnf(invokes both createVnf and instantiateVnf), grantVnf, TerminateVnf
        • Its APIs are SO specific; i.e., not SOL003-based ones; for the NB API details, see the SO VNFM Adapter APIs page.
      • Business Logic layer
        • It is invoked by the NBI and provides business logic for createVnf, instantiateVnf, queryVnf, terminateVnf
        • SDNC and A&AI access to collect assignment and VimConnectionInfo
        • Accesses SdcPackageProvider for getting SOL003 package(s) and parameters
        • SdcPackageProvider
          • Supports SOL001/SOL004 package management
          • Provides getPackage, getVnfdId, getFlavorId, getVnfNodeProperty
          • Provides getPackage(s), getVnfd, getArtifactFile for SVNFM
          • Uses SDC Tosca Parser
        • GrantManager
          • Provides requestGrantForInstantiate REST API for SVNFM
          • Invokes OOF for homing decision; HPA support, and/or non-OOF decision
        • SOL003Lcn APIs
          • Supports VnfIdentifierCreationNotification, VnfIdentifierDeletionNotification, VnfLcmOperationOccurrenceNotification
      • SOL003 Communication Layer
        • It is a thin REST client layer, which sends SOL003-compliant requests to SVNFMs and receives responses/notifications from SVNFM.
        • For Grant, it provides the Grant REST endpoint for SVNFM

...

  • SO BPMN VNF Workflow

    • A new VNF-level Building Block workflow will be created.

    • Create and Instantiate VNF workflow (EtsiVnfInstantiateBB.bpmn)


Image Added

    • Delete VNF workflow (EtsiVNFDeleteBB.
  • <to add more details>
    • bpmn)

Image Added

  • SO BPMN VF-Module Workflow

    • For ETSI-based VNF package, VF-Module level workflows will NOT be used. 

    • SO VNFM Adapter will interface with SVNFM at the VNF level.

...