Versions Compared

Key

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


  • Resource commitment:

  • Usecase Lead:

  • TSC Contact:

  • Participating ONAP Projects:

    • Implementation: SO, AAI, SDC (not in Dublin)

...

    • 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

...

    • 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
    • Due to SDC SOL004 package support issues in Dublin, manual onboarding VNF Packages are needed for SVNFM. 
    • 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
nameSO VNFM Adapter Architecture Dublin
pagePin517


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

...

    • Epic and Use Stories
    • VNFM Adapter Design
    • SOL001/SOL004 Support & Design
    • SO BPMN Infra & VNFM Adapter Run-time Scenario
    • SOL003 API Support
    • SO VNFM Adapter SOL003 API Support Design
    • VNFM Adapter VNF Package Management (Not part of Dublin)
    • SDNC Assignment Management
    • VNFM Adapter Locating SVNFM
    • VNF Life-cycle Granting
    • VNFM Adapter Homing Decision for VNF Granting (TBD)
    • SVNFM Simulator


  • Epic


EpicFeatureDescription

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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 Stories


User StoriesFeatureDescription

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keySO-1538

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

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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.

  • vCPE VNF packages plan to be used for this validation testing.

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keySO-1619

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

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keySO-1620

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

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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 Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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 Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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 Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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 Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keySO-1625

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

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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 Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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 Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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 Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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 Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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 Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keySO-1631

Handling Homing in FlowHandling Homing in Flow

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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 Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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 Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keySO-1634

Notification Handling - Terminate

Notification Handling - Terminate

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

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keySO-1635

Remove SDNC pre-load and introduce user_param handling

Remove SDNC pre-load and introduce user_param handling

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
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 Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keySO-1637

Spike - investigate OAM IP address handling for generic-vnf

Investigate OAM IP Address handling for generic-vnf

...

    • Ericsson Internal Test:
      • A vendor provides their VNF Package and SVNFM for managing the vendor-specific VNF package. 
      • For the SO VNFM Adapter NBI and SOL003-SBI interface validation, Ericsson SVNFM is used for the internal testing
    • Integration Test:
      • For the integration testing, generic/dummy VNF package and VNFM simulator are provided.
      • The generic/dummy VNF package is used to extract SOL001 VNFD parameters for SOL003-based API parameters, such as descriptor_id, flavor, etc. 
      • VNFM simulator is a vendor-neutral SOL003-compliant VNFM, which supports SOL003 responses and message exchanges.
      • vCPE VNF packages would be used for this integration testing. 


  • VNFM Adapter Sub-components


Gliffy
nameVNFM_Adapter_Components
pagePin17


    • SO VNFM Adapter component is a sub component of SO; utilizing docker image and container managed.
      • North Bound Interface (NBI)
        • RESTful APIs that support createVnf (invokes both createVnf and instantiateVnf), grantVnf, TerminateVnf/DeleteVnf
        • 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, terminateVnf/DeleteVnf
        • SDNC and A&AI access to collect assignment and VimConnectionInfo
        • Accesses SdcPackageProvider for getting SOL004 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
        • For the SOL003 Southbound API details, see the  SO VNFM Adapter APIs page.

...

  • CSAR Import, Store and Retrieve Sequences 

    • SDC stores the original vendor VNF package along with the transformed ONAP-compliant package.
      • Note: this will not supported SDC Dublin.
    • SO uses SDC-transformed CSAR packages and VNFM Adapter uses the original Vendor CSAR package.
      • Note: since SDC Dublin does not support the original vendor CSAR package, SO VNFM Adapter will retrieve VNFDs from SDC.
      • For that reason, the following steps 1, 2, 3 and 4 have been simplified and adjusted.
    • In Dublin, SVNFM needs to onboard its VNF packages.


    • Design 

Note 1: the following design will be completed in the El Alto release. For Dublin, the steps 2 and 3 are not used, and the step 4 will be used to retrieve VNFDs from SDC

...

Gliffy
nameSO VNFM Adapter High Level Flow Design
pagePin14


    1. SO BPMN Service workflows dispatch new resource-level workflows based on VNF request parameters (e.g., type, others).
      1. Once a Service workflow chooses a new workflow path for VNFM Adapter, the subsequent requests for the same VNF will follow the new path.
      2. an association between VNF and VNFM will be made in A&AI.
    2. SO BPMN VNF-level resource workflows handle:
      1. Assign VNF to SDNC
      2. Retrieve the VNF Assignment from SDNC
      3. Invoke VNFM Adapter Client with required parameters
    3. VNFM Adapter Client manages:
      1. Populate parameter structures based on data from SO workflows
      2. Invoke VNFM Adapter NBI with required parameters
    4. VNFM Adapter gets GenericVNF from A&AI
    5. VNFM Adapter locates the corresponding VNF and VNFM registration info form A&AI (ESR). Two methods are suggested
      1. Current one: based on VNF NF Type and VNFM Type in A&AI
      2. Could use VNFD vnfm_info:type, VNFM registration values: VNFM type, Cloud Region, vendor - logic is being designed
    6. VNFM Adapter gets VimConnectionInfo from A&AI
      1. Queries A&AI based on the cloud region and tenant id
      2. Builds the VimConnectionInfo based on the type, service-url, user-name, password, cloud-domain, etc.
    7. VNFM Adapter uses network assignment (e.g., IP Address) from SO (thru SDNC) and builds the extVirtualLinks and other parameters.

...

    • Delete VNF workflow (EtsiVNFDeleteBB.bpmn)

Image RemovedImage Added

  • SO BPMN VF-Module Workflow (not for Dublin)

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

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

...

      • VNF Application Configuration thru VNFM Adapter and VNFM is under discussion  (out of scope from Dublin)

        • Architecture subcommittee is defining orchestration scenarios for application configuration

      • Better mechanism for VNFM Adapter to locate VNFMs (two methods are suggested)

        • How do we identify which VNFM to use?

      • Modelling for VNF and VF Modules; mapping between VF Modules and VNF (out of scope from Dublin)

        • Assigning Network resources to SDNC; do we use preload data?

      • Continue to support existing non-ETSI SO workflows along with ETSI-based workflows

      • SOL001/SOL004 SO Representation (for Dublin, the second option was chosen)

        • Option #1: Enhance SO Catalog Database? 

          • VNF_Package (vnfdid, vnfm_info, version, vnf_provider, product, vendor, etc.)

          • VNF_Package_Artifact (child database for VNF_Package, VNFD_URL, SoftwareImage_URL, Additional Files etc)

        • Option #2: Store minimum reference in TOSCA_CSAR database table? This was chosen for Dublin

      • MultiCloud use (not for Dublin)

      • SO VNFM Adapter High Availability and error handling are not fully covered.