Versions Compared

Key

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

...

draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
diagramNameGuilin SOL002 adapter architecture
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth877888
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

...

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)

...