...
PlantUML Macro | ||
---|---|---|
| ||
@startuml participant SO participant SOL005_Adapter participant SOL005_NBI participant NS_LCMGR participant Resource_Mgr 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 -> Resource_Mgr : Query all instances related to NS Resource_Mgr -> 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 -> Resource_Mgr : Return all instances for NS Resource_Mgr -> NS_LCMGR : Return all instances for NS NS_LCMGR --> NS_LCMGR : Start Delete NS instances NS_LCMGR -> Resource_Mgr : Request Homing Information\nfor Network Service Resource_Mgr -> OOF : Requests Homing Information\nfor Network Service OOF -> Resource_Mgr : Response with Homing Information\nfor Network Service Resource_Mgr --> Resource_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 -> Resource_Mgr : Request Homing Information Resource_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 -> Resource_Mgr : Update records for Delete VNF/VDUs/CPs Resource_Mgr -> 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 -> Resource_Mgr : Return with Delete VNF/VDUs/CPs Resource_Mgr -> NS_LCMGR : Return with Delete VNF/VDUs/CPs end NS_LCMGR -> Resource_Mgr : Request for Delete VLs (if needed) Resource_Mgr -> VIM : Request for Delete VLs VIM --> VIM : Delete VLs NS_LCMGR -> Resource_Mgr : Update records for Delete VLs Resource_Mgr -> 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 -> Resource_Mgr : Return with Delete VLs Resource_Mgr -> 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
- terminateTime
Response
201 Accepted
NsLcmOperationOccurrenceNotification (Start/Processing/Completed)
Design
- Get an ns_inst_d, job_id and request_data from the parameters
- if there no matching ns_inst_id from the NFVO_NSINT database table, consider there is nothing to terminate, and return
- set job status as "Starting terminate..."
- update the ns_inst_id row from the NFVO_NSINST database table with the status = TERMINATING
- cancel SFC list
- get sfc inst array
- for each sfc inst
- DELETE /api/nslcm/v1/ns/sfcs/{instId}
- cancel VNF list
- get vnf inst list array from NFVO_NFINST
- for each vnf inst
- delete_vnf (nf_instid)
- POST /api/nslcm/v1/ns/terminateVnf/{instId}
- delete_vnf (nf_instid)
- for each vnf inst
- get vnf inst list array from NFVO_NFINST
- cancel VL list
- get VL Inst array
- for each VL inst
- DELETE /api/nslcm/v1/ns/vls/{instId}
- cancel PNF list
- get pnf inst array
- for each pnf instÂ
- DELETE /api/nslcm/v1/pnfs/{instId}
- modify the ns_inst_id row state from the NFVO_NSINST database table
- modify NFVO_NSINST status = NOT_INSTANTIATED
- set job status = NS terminate ends
- Update NsLcmOpOCC to COMPLETED
- Send nsLcmOperationOccurrenceNotification
Delete NS
Request
- No; just parameter nsInstanceId
Response
- 204 No Content
Notification
- Send NsIdentifierDeletionNotification
Design
- get ns_inst_id
- delete ns instance in AAI
- get ns_instances from NFVO_NSINST database table
- invoke delete_ns_aai with global_customer_id, service_type, ns_inst_id, resource_version
- formulate the resource url with parameters
- call_aaI (resource, "DELETE")
- delete ns_inst_id row from the NFVO_NSINST database table
- delete ns_inst_id row from the NFVO_INPutParamMapping database table
- delete ns_inst_id row from the DefPkgMapping database table
- delete ns_inst_id row from the ServiceBaseInfo database table
- return 204 No Content
- Send NsIdentifierDeletionNotification