Versions Compared

Key

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

...

The following SOL005-based Operation sequence flow depicts the SO NFVO invocation architecture.


The following sequence depicts an ONAP SO NFVO invocation sequence.diagram depicts the Create/Instantiate NS.


PlantUML Macro
typedot
@startuml
participant SO
participant SOL005_Adapter
participant SOL005_NBI
participant NS_LCMGR
participant RIM_Mgr
participant MultiCloud_Adapter
participant OOF
participant Catalog_DB_Adapter
participant ETSI_Catalog_Mgr
participant Inventory_DB_Adapter
participant AAI
participant SOL003_Adapter
participant VIM
participant VNFM

autonumber 

group Create NS
	SO -> SOL005_Adapter : Create NS
    SOL005_Adapter -> SOL005_NBI : Create NS
    SOL005_NBI -> NS_LCMGR : Create NS
    NS_LCMGR -> Inventory_DB_Adapter : Create NS record
    Inventory_DB_Adapter -> AAI : Create NS record
    AAI --> AAI : Create NS record
    AAI -> Inventory_DB_Adapter : Response for Create NS record
    Inventory_DB_Adapter -> NS_LCMGR: Response for Create NS record
    NS_LCMGR -> SOL005_NBI : Response for Create NS record	
    SOL005_NBI -> SOL005_Adapter : Response with NS Instance Id
    SOL005_Adapter -> SO : Response with NsInstance\n(including NS Instance Id)
    NS_LCMGR -> SOL005_NBI : Send\nNsIdentifierCreationNotification
    SOL005_NBI -> SOL005_Adapter : Send\nNsIdentifierCreationNotification
    SOL005_Adapter -> SO : Send\nNsIdentifierCreationNotification
end
group Instantiate NS
    NS_LCMGR -> Catalog_DB_Adapter : Read NS descriptor
    Catalog_DB_Adapter -> ETSI_Catalog_Mgr : Read NS descriptor
    ETSI_Catalog_Mgr -> Catalog_DB_Adapter : Return NS descriptor
    Catalog_DB_Adapter -> NS_LCMGR : Return NS descriptor
    NS_LCMGR --> NS_LCMGR : Parse & Decompose NS descriptor
    NS_LCMGR --> NS_LCMGR : Instantiate NS
    NS_LCMGR --> NS_LCMGR : Instantiate VLs between VNFs
    NS_LCMGR -> MultiCloud_Adapter : Create Network
    MultiCloud_Adapter -> VIM : Create Network
    VIM -> MultiCloud_Adapter : Response for Create Network
    MultiCloud_Adapter -> NS_LCMGR : Response for Create Network
    NS_LCMGR -> Inventory_DB_Adapter : Create VL record
    Inventory_DB_Adapter -> AAI : Create VL record
    AAI --> AAI : Create VL record
    AAI -> Inventory_DB_Adapter : Response for Create VL record
    Inventory_DB_Adapter -> NS_LCMGR : Response for Create VL record
    NS_LCMGR -> RIM_Mgr : Request Homing Information\nfor Network Service
    RIM_Mgr -> OOF : Requests Homing Information\nfor Network Service
    OOF -> RIM_MGR : Response with Homing Information\nfor Network Service
    RIM_Mgr --> RIM_Mgr : Persist Homing Information\nfor Network Service
loop Go through each VNF    
    NS_LCMGR -> SOL003_Adapter : Request for Instantiate VNF
    SOL003_Adapter -> VNFM : Request for Instantiate VNF
    VNFM -> SOL003_Adapter : Request Grant VNF resource
    SOL003_Adapter -> NS_LCMGR : Request Grant VNF resource
    NS_LCMGR -> RIM_Mgr : Request Homing Information 
    RIM_Mgr -> NS_LCMGR : Return with Homing Information\nfor the VNF
    NS_LCMGR --> NS_LCMGR : Make a Grant decision
    NS_LCMGR -> SOL003_Adapter : Return with a Grant decision
    SOL003_Adapter -> VNFM: Return with a Grant decision
    VNFM --> VNFM : Instantiate VNF
    VNFM -> SOL003_Adapter : Notify the changes\nof VNF/VDUs/CPs
    SOL003_Adapter -> NS_LCMGR : Notify the changes\nof VNF/VUD/CPs
end
    NS_LCMGR -> SOL005_NBI : Send\nnsLcmOperationOccurrenceNotification
    SOL005_NBI -> SOL005_Adapter : Send\nnsLcmOperationOccurrenceNotification
    SOL005_Adapter -> SO : Send\nnsLcmOperationOccurrenceNotification
end    


@enduml


CreateNS

  • Register ONAP SO NFVO into AAI through ESR
  • From VID/UUI, invoke the NS LCM
  •  CreateVFCNSResource.bpmn
    • CreateVFCNSResource.groovy
      • preProcessRequest()
        • Select vfcAdapter/SOL005 Adapter
      • createNetworkService()

        • Populate String reqBody ="""{ "nsServiceName":"${nsServiceName}",
              "nsServiceDescription":"${nsServiceDescription}",
              "nsServiceModelUUID":"${nsServiceModelUUID}",
              "nsOperationKey":${nsOperationKey},
              "nsParameters":{
              "locationConstraints":${locationConstraints},
              "additionalParamForNs":${requestInputs}
              }
          }"""
        • Send a request to vfcAdapter/SOL005 Adapter
          • vfcAdapterUrl + "/ns/" with reqBody
  • SOL005Adapter
    • createNS() 
      • Create createNsRequest data
      • from the additionalParamForNS, get the NFVO orchestrator
        • Query AAI to get a proper NFVO instance
      • Prepare CreateNs request header
        • Map<String, String> requestHeader = new HashMap<>();
          requestHeader.put("GLOBALCUSTOMERID", segInput.getNsOperationKey().getGlobalSubscriberId());
          requestHeader.put("SERVICETYPE", segInput.getNsOperationKey().getServiceType());

      • Send a CreateNS request to ONAP SO NFVO
    • Get an nsInstanceId response from SOL005 Adapter
    • Save resource operation information
    • Add relation between Service and NS in AAI

...