Versions Compared

Key

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


Table of Contents


Note: Due to the resource issue, this SOL002 Adapter is moved to the Honolulu release under REQ-400.

Introduction

SOL002 Adapter is similar ETSI adapter as SOL003 and SOL005 that does conversion of ONAP functionality to ETSI MANO functionality and back. Architecture and placement in ONAP should be inline with other ETSI adapters and all common functionality should be shared and implemented just ones e.g.

...

SOL002 VNF LCM interface use can be divided to 2 separate sub-use cases:

...

  1. LCM Notification Subscribing/Consuming
    • At startup SOL002 Adapter can subscribe LCM notifications from VNFM
    • When receiving notifications SOL002 Adapter can perform actions e.g.:
      • Clean up VNF related Close Loop when receiving VNF terminated notification
      • Configure VNF (Similar as in VNF Configuration use case.) VNF  when receiving VNF Instantiated/Healed/Scaled notification.
  2. LCM Action execution (NOT FOR GUILIN)
    • ONAP Close Loop gets triggered from VES event or by other means and can trigger SOL002 Adapter to perform action using VNF LCM interface

Benefits:

  • VNFC level LCM actions (compared to SOL003 which only allows action at the VNF level)

Gliffy Diagram
nameGuilin ONAP ETSI Alignment SOL002 VNF LCM Notifications
pagePin62
Gliffy Diagram
size600
nameGuilin ONAP ETSI Alignment SOL002 VNF LCM Notifications
pageidpagePin685410211

VNF Indicator Interface (Ve-Vnfm-em)

External VNFM can subscribe to SOL002 VNF Indicator notifications.

SOL002 Adapter reads VNF spesific specific VES events from DMaaP according to subscriptions and converts events to SOL002 interface format and sends as Notify events to external VNFM.

Note: (NOT FOR GUILIN)

Benefits:

  • Enables ETSI style Close Loops in VNFM (for VNFs supporting ONAP VES events)

Gliffy Diagram
nameONAP ETSI Alignment SOL002 VNF Indicator interface
pageid68541021

VNF Configuration (Ve-Vnfm-em)

As part of VNF instantiation/heal/scaleOut VNFM can set VNF initial configuration using SOL002 VNF Configuration Interface towards EM (ONAP).

SOL002 Adapter can convert this configuration to another protocol and ONAP Controller enables Operator configurability.

Benefits:

...

  • This configuration interface only exists in SOL002 (compared to SOL003).

...

interface

...

Gliffy Diagram
nameONAP ETSI Alignment Copy
pageid68541021


Feature Descriptions

Feature

Description

SOL002 Adapter executes VNF LCM operations towards VNFM

SOL002 Adapter utilizes VNFM exposed SOL002 VNF LCM interface:

ONAP DCAE/Policy executes Close Loop based on VNF or VNFC level events

ONAP Controller or
SOL002 Adapter
directly can react to Policy trigger as Policy actor to perform LCM operation for VNF
  • SOL002 Adapter is used to translate LCM action to SOL002 interface format towards external VNFM
  • External VNFM performs VNF resource changes (VNFC or VNF level)
  • SOL002 Adapter
    subscribes and consumes VNF LCM notifications from VNFM

    SOL002 Adapter utilizes VNFM exposed SOL002 VNF LCM interface to subscribe LCM Notifications:

    • SOL002 Adapter subscribes LCM notifications at startup (e.g. listen all notifications)
    • SOL002 Adapter receives LCM notification and emits event to
    DMaaP
    • DCAE e.g. for Policy to consume
    • User should model action Policy to react to these events on ONAP side
    • Based on modeled action some operation can be done. E.g. with ONAP Controller to configure VNF. Clean Close loop etc.
    SOL002 Adapter executes VNF LCM operations towards VNFM

    SOL002 Adapter utilizes VNFM exposed SOL002 VNF LCM interface:

    • ONAP DCAE/Policy executes Close Loop based on VNF or VNFC level events
    • ONAP Controller or SOL002 Adapter directly can react to Policy trigger as Policy actor to perform LCM operation for VNF
    • SOL002 Adapter is used to translate LCM action to SOL002 interface format towards external VNFM
    • External VNFM performs VNF resource changes (VNFC or VNF level)
    SOL002 Adapter receives subscription and sends VNF Indicator notifications to VNFM

    SOL002 Adapter exposes VNF Indicator subscription endpoint and sends Indicator notifications to external VNFM:

    • VNFM calls SOL002 Adapter to subscribe VNF Indicator notifications
    • SOL002 Adapter stores subscriptions according to standard
    • SOL002 Adapter starts to listen DMaaP events based on subscription
    • SOL002 Adapter consumes any matching events and translates events to SOL002 Indicator notification and sends to subscriber
    SOL002 Adapter receives VNF configuration request from VNFM

    SOL002 Adapter exposes VNF configuration endpoint for external VNFM:

  • SOL002 Adapter performs EM role (Ve-Vnfm-em)
  • VNFM calls SOL002 Adapter VNF configuration interface
  • SOL002 Adapter translates the configuration request into APPC/CDS/GNFC - specific API-call
  • APPC/CDS/GNFC configures specific VNF or VNFC accordingly
  • Epic and User Story

    Epic

    User Story

    Description

    Is
    Frankfurt
    Guilin?JIRA
    SOL002
    Adapter




    Epic: SOL002 Adapter will support EM-triggered VNF/VNFC Management
    Partially
    No

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

    SOL002 Adapter
    executes VNF LCM operations towards VNFM

    SOL002 Adapter utilizes VNFM exposed SOL002 VNF LCM interface:

    • ONAP DCAE/Policy executes Close Loop based on VNF or VNFC level events
    • ONAP Controller or SOL002 Adapter directly can react to Policy trigger as Policy actor to perform LCM operation for VNF
    • SOL002 Adapter is used to translate LCM action to SOL002 interface format towards external VNFM
    • External VNFM performs VNF resource changes (VNFC or VNF level)
    NoSOL002 Adapter
    subscribes and consumes VNF LCM notifications from VNFM

    SOL002 Adapter utilizes VNFM exposed SOL002 VNF LCM interface to subscribe LCM Notifications:

    • SOL002 Adapter subscribes LCM notifications at startup (e.g. listen all notifications)
    • SOL002 Adapter receives LCM notification and emits VES event to
    DMaaP
    • DCAE e.g. for Policy to consume
    • User should model action Policy to react to these events on ONAP side
    • Based on modeled action some operation can be done. E.g. with ONAP Controller to configure VNF
    . Clean
    • , clean Close loop etc.
    Yes
    No

    Jira
    serverONAP JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keySO-

    2428

    2745

    SOL002 Adapter executes VNF LCM operations towards VNFM

    SOL002 Adapter utilizes VNFM exposed SOL002 VNF LCM interface:

    • ONAP DCAE/Policy executes Close Loop based on VNF or VNFC level events
    • ONAP Controller or SOL002 Adapter directly can react to Policy trigger as Policy actor to perform LCM operation for VNF
    • SOL002 Adapter is used to translate LCM action to SOL002 interface format towards external VNFM
    • External VNFM performs VNF resource changes (VNFC or VNF level)
    No
    SOL002 Adapter receives subscription and sends VNF Indicator notifications to VNFM

    SOL002 Adapter exposes VNF Indicator subscription endpoint and sends Indicator notifications to external VNFM:

    • VNFM calls SOL002 Adapter to subscribe VNF Indicator notifications
    • SOL002 Adapter stores subscriptions according to standard
    • SOL002 Adapter starts to listen DMaaP events based on subscription
    • SOL002 Adapter consumes any matching events and translates events to SOL002 Indicator notification and sends to subscriber
    No
    SOL002 Adapter receives VNF configuration request from VNFM

    SOL002 Adapter exposes VNF configuration endpoint for external VNFM:

    • SOL002 Adapter performs EM role (Ve-Vnfm-em)
    • VNFM calls SOL002 Adapter VNF configuration interface
    • SOL002 Adapter translates the configuration request into APPC/CDS/GNFC - specific API-call
    • APPC/CDS/GNFC configures specific VNF or VNFC accordingly
    No

    Documentation for SOL002 Adapter featuresDocumentation for SOL002 Adapter features
    Yes
    NO

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









    SOL002 Adapter Architecture

    draw.io Diagram
    bordertrue
    diagramNameGuilin SOL002 adapter architecture
    simpleViewerfalse
    width
    linksauto
    tbstyletop
    lboxtrue
    diagramWidth888
    revision1

    1. SOL002Adapter will be the SO microservice component

    2. SOL002Adapter will be registered in the Microservice Bus (via helm chart)
    3. SOL002Adapter will be registered manually in the External System Register
    4. SOL002Adapter on startup will use ESR to get external VNFM data
    5. SOL002Adapter on startup will register in VNFM for all LCM notifications
    6. BPMN will trigger LCM operation which will go to SOL003Adapter
    7. SOL003Adapter triggers the LCM flow in VNFM
    8. ETSI LCM notification is sent from VNFM and goes to SOL002Adapter
    9. SOL002Adapter will query A&AI to get VNF data
    10. SOL002Adapter will construct and publish ONAP event via DCAE/DMaaP. At the current phase it will be DMaaP event t but later on it will evolve to VES event.
    11. Policy will consume DMaaP event
    12. Policy will call configuration component to configure VNF
    13. For the integration testing, the VNFM Simulator in the CSIT container will be used

    ...

    The following SOL002 operations will be supported:

    API ActionActorMethodURIDescription
    Subscribe for LCM notificationsSOL002 Adapter → VNFM POST
    /vnflcm/v1/subscriptions (LccnSubscriptionRequest)
    To create subscription for LCM notification
    Notify on VNF lifecycle changesVNFM → SOL002 AdapterPOST
    /lcm/v1/vnf/instances/notifications (VnfLcmOperationOccurrenceNotification)
    To
    notifify
    notify SOL002 adapter on VNF lifecycle changes





    SOL002 Operation Sequence Flows

    ...

    PlantUML Render Macro
    @startuml

    participant "SO(SOL002_Adapter)"
    participant External_VNFM
    participant AAI
    participant "DCAE/DMaaP"
    participant Policy
    participant CDS

    hnote over AAI : Precondition: VNF is instantiated (e.g. through SOL003 and with external VNFM) and VNFM is registered in ESR and SOL002_Adapter is registered in MSB

    ...

    "SO(SOL002_Adapter)" -> AAI: 1. GET external VNFMs details

    alt
    Subscribe to LCM Notifications after startup

    "SO(SOL002_Adapter)" -> External_VNFM : 2. POST ../vnflcm/v1/subscriptions
    External_VNFM -> "SO(SOL002_Adapter)" : 3. 201 Created
    end

    ...
    alt Receive VnfLcmOperationOccurrenceNotification
    External_VNFM -> "SO(SOL002_Adapter)": 4. POST ../notifyEndpoint
    "SO(SOL002_Adapter)" -> AAI: 5. GET generic-vnf to make mapping.
    "SO(SOL002_Adapter)" -> "SO(SOL002_Adapter)": 6. transform ETSI model to ONAP model and create DMaaP message (or VES event for DCAE) for ONAP
    "SO(SOL002_Adapter)" -> "DCAE/DMaaP": 7. POST Notification
    Policy -> "DCAE/DMaaP": 8. Consume notifications targeted to Policy
    Policy -> Policy: 9. Execute User's policy if exists
    Policy -> CDS: 10. POST: Policy action to configure VNF
    end


    @enduml

    ...

    1. SOL002Adapter queries the ESR for external VNFM details.
    2. SOL002Adapter subscribes in it's startup notifications from external VNFM. Filter used can be wide i.e. all notifications.
    3. When adapter get's success for subscription request it starts to listen notifications. If subscription fails, adapter continues to try again forever with suitable interval. 
    4. When something happens (e.g. VNF instantiated), external VNFM sends notification
    5. Query AAI for VNF details. GET query to MANO may also be needed if vnfIds in systems are not same. (Optional step, needed if model translation needed)
    6. SOL002Adapter makes necessary translation from ETSI model to ONAP model. (To be checked: details of translation or if translation even needed - it depends on SOL003 integration)
    7. Agreed VES event (to be agreed message format and fields) message format of LCM notification is posted to DMaaP. Another (stretch goal and better long term option) solution is to create VES event and feed it to ONAP's DCAE for normal LC processing.
    8. Consume LCM notification
    9. If Operational Policy reacting to LCM notifications is created as part of normal VNF modeling/instantiation, then user's policy is run. It's up to user's policy what it does and following steps is an example for configuring a VNF with ONAP controller.
    10. Execute policy action towards actor (through DMaaP or directly)

    Location

    Initially (for Frankfurt) SOL002 _ Adapter will be located in continue to be part of SO. Later on it has to be moved to other component (e.g. GNFC).


    DMaaP Message Format


    Below is a message (the values are sample) sent over to DMaaP.


    Code Block
    {
      "closedLoopControlName": "ClosedLoopControlName",
      "closedLoopAlarmStart": 1589825445,
      "closedLoopEventClient": "microservice.stringmatcher",
      "closedLoopEventStatus": "ONSET",
      "requestID": "8478ff7d-409d-4b7d-b932-f09ab54765ab",
      "target_type": "VNF",
      "target": "generic-vnf.vnf-id",
      "AAI": {
        "vserver.is-closed-loop-disabled": false,
        "vserver.vserver-name": "<vServerName>",
        "generic-vnf.vnf-id": "<genericId>"
      },
      "from": "ETSI",
      "version": "1.0.2",
      "etsiLcmEvent": {
        "id": "63e446ab-bb42-48aa-ad1f-bf20f6710623",
        "notificationType": "VnfLcmOperationOccurrenceNotification",
        "subscriptionId": null,
        "timeStamp": null,
        "notificationStatus": "RESULT",
        "operationState": "COMPLETED",
        "vnfInstanceId": "2124DEPF",
        "operation": "INSTANTIATE",
        "isAutomaticInvocation": null,
        "vnfLcmOpOccId": "86d3de41-a7f7-48eb-9868-5b103dc36d26",
        "affectedVnfcs": [
          {
            "id": "abc123",
            "vduId": "vdu987",
            "changeType": "ADDED",
            "computeResource": {
              "vimConnectionId": "vim001"
            }
          }
        ],
        "affectedVirtualLinks": null,
        "affectedVirtualStorages": null,
        "changedInfo": null,
        "changedExtConnectivity": null,
        "error": null,
        "_links": {
          "vnfInstance": {
            "href": "https://so-vnfm-simulator.onap:9093/vnflcm/v1/vnf_instances/2124DEPF"
          },
          "subscription": null,
          "vnfLcmOpOcc": {
            "href": "https://so-vnfm-simulator.onap:9093/vnflcm/v1/vnf_lcm_op_occs/86d3de41-a7f7-48eb-9868-5b103dc36d26"
          }
        }
      }
    }