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.


Create/Instantiate NS Sequences

The following diagram depicts the Create/Instantiate NS.

...

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

        • Populate String reqBody ="""{
              "nsServiceName":"${nsServiceName}",
              "nsServiceDescription":"${nsServiceDescription}",
              "nsOperationKey":${nsOperationKey},
              "nsParameters":${nsParameters}
          }"""

        • Send a request to vfcAdapter/SOL005 Adapter

          • vfcAdapterUrl + "/ns/" + nsInstanceId + "/instantiate" with reqBody
  • SOL005Adapter
    • instantiateNS() 
      • Create instantiateNsRequest data
        • set VnfLocationConstraint if any
        • set additionalParamsForNs
      • 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 instantiateNS request to ONAP SO NFVO
    • Get an response status from SOL005 Adapter
      • if 202 successful, get an Job id
    • Save resource operation information
    • Add relation between Service and NS in AAI


Terminate/Delete NS

...

Sequences

The following diagram depicts the Terminate /

<TBD>

Delete NS<TBD>.


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 Terminate NS
	SO -> SOL005_Adapter : Terminate NS
    SOL005_Adapter -> SOL005_NBI : Terminate NS
    SOL005_NBI -> NS_LCMGR : Terminate NS
    NS_LCMGR -> Inventory_DB_Adapter : Query all instances related to NS
    Inventory_DB_Adapter -> AAI : Query all instances related to NS
    AAI -> Inventory_DB_Adapter : Return all instances for NS
    Inventory_DB_Adapter -> NS_LCMGR : Return all instances for NS
    NS_LCMGR --> NS_LCMGR : Start Delete NS instances
    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 thru each VNF
    NS_LCMGR -> SOL003_Adapter : Delete VNF
    SOL003_Adapter -> VNFM : Delete VNF
    VNFM -> SOL003_Adapter : Request Grant resource for deletion
    SOL003_Adapter -> NS_LCMGR : Request Grant resource for deletion
    VNFM -> SOL003_Adapter : Request Grant VNF resource
    SOL003_Adapter -> NS_LCMGR : Request Grant VNF resource
    NS_LCMGR -> RIM_Mgr : Request Homing Information 
    RIM_Mgr -> OOF : Request Homing Information
    OOF -> RIM_Mgr : Return with Homing Information\nfor the VNF
    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 : Delete Resources
    VNFM -> SOL003_Adapter : Notify changes of VNF/VDUs/CPs
    SOL003_Adapter -> NS_LCMGR : Notify changes of VNF/VDUs/CPs
    NS_LCMGR -> Inventory_DB_Adapter : Update records for Delete VNF/VDUs/CPs
    Inventory_DB_Adapter -> AAI : Update records for Delete VNF/VDUs/CPs
    AAI --> AAI : Update records for Delete VNF/VDUs/CPs
    AAI -> Inventory_DB_Adapter : Return with Delete VNF/VDUs/CPs
    Inventory_DB_Adapter -> NS_LCMGR : Return with Delete VNF/VDUs/CPs
end
    NS_LCMGR -> MultiCloud_Adapter : Request for Delete VLs (if needed)
    MultiCloud_Adapter -> VIM : Request for Delete VLs
    VIM --> VIM : Delete VLs
    NS_LCMGR -> Inventory_DB_Adapter : Update records for Delete VLs
    Inventory_DB_Adapter -> AAI : Update records for Delete VLs
    AAI --> AAI : Update records for Delete VLs
    AAI -> Inventory_DB_Adapter : Return with Delete VLs
    Inventory_DB_Adapter -> NS_LCMGR : Return with Delete VLs

    NS_LCMGR -> SOL005_NBI : Send\nnsLcmOperationOccurrenceNotification
    SOL005_NBI -> SOL005_Adapter : Send\nnsLcmOperationOccurrenceNotification
    SOL005_Adapter -> SO : Send\nnsLcmOperationOccurrenceNotification
end    



@enduml

Terminate and Delete NS

  • Register ONAP SO NFVO into AAI through ESR
  • From VID/UUI, invoke the NS LCM
  • DeleteVFCNSResource.bpmn
    • DeleteVFCNSResource.groovy
      • preProcessRequest() 
    • DoDeleteVFCNetworkServiceInstance.groovy
      • preProcessRequest()
        • Select vfcAdapter/SOL005 Adapter
        • String nsOperationKey = """{
              "globalSubscriberId":"${globalSubscriberId}",
              "serviceType":"${serviceType}",
              "serviceId":"${serviceId}",
              "operationId":"${operationId}",
              "nodeTemplateUUID":"${nodeTemplateUUID}"
          }"""

      • deleteNSRelationship()
        • delete relation between service and resource from AAI
      • terminateNetworkService()
        • POST vfcAdapterUrl + "/ns/" + nsInstanceId + "/terminate" with nsOperationKey
    • DoDeleteVFCNetworkServiceInstance.groovy
      • preProcessRequest()
        • Select vfcAdapter/SOL005 Adapter
        • String nsOperationKey = """{
              "globalSubscriberId":"${globalSubscriberId}",
              "serviceType":"${serviceType}",
              "serviceId":"${serviceId}",
              "operationId":"${operationId}",
              "nodeTemplateUUID":"${nodeTemplateUUID}"
          }"""
      • deleteNetworkService()

        • Send a request to vfcAdapter/SOL005 Adapter

          • DELETE vfcAdapterUrl + "/ns/"  with nsInstanceId
  • SOL005Adapter
    • terminateNS() 
      • Send a terminateNS request to ONAP SO NFVO, with reqBody (terminationTime)
      • add operation status to database
    • deleteNS()
      • Send a deleteNS request to ONAP SO NFVO 
      • add operation status to database



====================================================================================================================================================================================

...

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 Terminate NS
	SO -> SOL005_Adapter : Terminate NS
    SOL005_Adapter -> SOL005_NBI : Terminate NS
    SOL005_NBI -> NS_LCMGR : Terminate NS
    NS_LCMGR -> Inventory_DB_Adapter : Query all instances related to NS
    Inventory_DB_Adapter -> AAI : Query all instances related to NS
    AAI -> Inventory_DB_Adapter : Return all instances for NS
    Inventory_DB_Adapter -> NS_LCMGR : Return all instances for NS
    NS_LCMGR --> NS_LCMGR : Start Delete NS instances
    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 thru each VNF
    NS_LCMGR -> SOL003_Adapter : Delete VNF
    SOL003_Adapter -> VNFM : Delete VNF
    VNFM -> SOL003_Adapter : Request Grant resource for deletion
    SOL003_Adapter -> NS_LCMGR : Request Grant resource for deletion
    VNFM -> SOL003_Adapter : Request Grant VNF resource
    SOL003_Adapter -> NS_LCMGR : Request Grant VNF resource
    NS_LCMGR -> RIM_Mgr : Request Homing Information 
    RIM_Mgr -> OOF : Request Homing Information
    OOF -> RIM_Mgr : Return with Homing Information\nfor the VNF
    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 : Delete Resources
    VNFM -> SOL003_Adapter : Notify changes of VNF/VDUs/CPs
    SOL003_Adapter -> NS_LCMGR : Notify changes of VNF/VDUs/CPs
    NS_LCMGR -> Inventory_DB_Adapter : Update records for Delete VNF/VDUs/CPs
    Inventory_DB_Adapter -> AAI : Update records for Delete VNF/VDUs/CPs
    AAI --> AAI : Update records for Delete VNF/VDUs/CPs
    AAI -> Inventory_DB_Adapter : Return with Delete VNF/VDUs/CPs
    Inventory_DB_Adapter -> NS_LCMGR : Return with Delete VNF/VDUs/CPs
end
    NS_LCMGR -> MultiCloud_Adapter : Request for Delete VLs (if needed)
    MultiCloud_Adapter -> VIM : Request for Delete VLs
    VIM --> VIM : Delete VLs
    NS_LCMGR -> Inventory_DB_Adapter : Update records for Delete VLs
    Inventory_DB_Adapter -> AAI : Update records for Delete VLs
    AAI --> AAI : Update records for Delete VLs
    AAI -> Inventory_DB_Adapter : Return with Delete VLs
    Inventory_DB_Adapter -> NS_LCMGR : Return with Delete VLs

    NS_LCMGR -> SOL005_NBI : Send\nnsLcmOperationOccurrenceNotification
    SOL005_NBI -> SOL005_Adapter : Send\nnsLcmOperationOccurrenceNotification
    SOL005_Adapter -> SO : Send\nnsLcmOperationOccurrenceNotification
end    



@enduml


Terminate NS


Request

TerminateNsRequest

...