Flowchart Diagram

Service Creation


Step Description

Step No

Functionality

1a

Upon reception of L1 service creation request from UUI, CreateCustomE2EServiceInstance workflow to be invoked.

  • Validate the mandatory fields in service request.
  • The mandatory fields are uni/enni ids, globalSubscriberId, serviceInvariantUuid etc... etc

1b

  • Generate an operationId for the service request.
  • Update requestDB with new entry for this service operation in operation_status table.

1c

  • Based on if request validation is success/failure, send success/failure sync response to UUI with respective valid message.
1d
  • If request validation is failure, then go to initial state.
  • If request validation is success, then invoke the existing subprocess flow named “DoCreateE2EServiceInstance” to process the request further

2a

  • Get the request parameters to prepare for service decomposition and create service instance in AAI
  • Required request parameters are requestId, globalSubscriberId, serviceType, serviceInstanceId, serviecInstanceName, serviecInvarientUuid, serviceUuid etc...

2b

  • Get and set the request parameters required to process service decomposition.
  • The required request paramaters are serviceModelInvarientId, serviceModelUuid and modelVersion.

2c

  • Invoke workflow named “DecomposeService” to process the service decomposition.

3a

  • Get and set the request parameters required to query catalog DB for service-recipe.
  • Query the CatalogDB for the service recipe required for service decomposition using either serviceModelInvarientId or serviceModelUuid.

3b

  • Decompose the service template and get the service resources such as UNI_UNI, UNI-ENNI etc. 
  • Post service decomposition, SO to store the decomposed service in ServiceDecomposition class for further process. 

2d

  • Check if service decomposition is success or failure

2e

  • If success, create L1 Access service instance in AAI with orchestration-status “PENDING”
2f & 1e

If failure, then:

  • Update operation-status table with result = FAILED in RequestDB.
  • Delete L1 Access-service instance entry in AAI.
  • Send response to UUI with valid message(Resources are not available/invalid).

2g

  • Query orchestration URI for decomposed service resource from catalog DB table vnf_recipe: CreateSDNCNetworkResource

4a

If modelType is UNI and serviceType is MDONS_OTN:

  • Map request parameters from UUI to the template attributes.
  • Create the request format to be sent to SDNC using template parameters and UUI inputs.
  • Send the request to SDNC Adapter.

5a

If serviceType is MDONS_OTN, send the request from SDNC adapter to SDNC by invoking the opticalservice:optical-service-create RPC in SDNC

5b

Get the SDNC response in SDNC adapter and pass it on to the calling BPMN flow.

4b

Upon reception of SDNC response, SO to:

  • Check the response code for success/failure
  • If failure, invoke the failure handling flow
  • If success, check for ack-final-indicator value
4c
  • If ack-final-indicator="Y", then Update requestDB with operation status of the request for which response came from SDNC.
  • Update orchestration status for L1 Access-Service instance in AAI.
  • Send response to UUI with valid message.
4d
  • If the flag ack-final-indicator =N in SDNC response, then: Wait for async response from SDNC with timer.
4e
  • Upon reception of async response from SDNC within timeout, process in the same way as 4b, 4c and 4d
4f

Upon reception of no SDNC response within timeout, SO to:

  • Consider it as failure case.
  • Invoke the failure handling flow
Failure Flow


6a

Upon reception of failure response, SO to invoke Rollback workflow- DoCreateServiceInstanceRollback

  • Get the parameters to process the rollback.
  • Here parameters to be checked are flags such as - skipRollback, RollbackSDNC, serviceType and RollbackAAI
6b

If skipRollback=No, then:

  • check if SDNC needed rollback.
  • If RollbackSDNC = Yes, then execute the SDNC rollback flow.
6c
  • If RollbackSDNC= No, then , Verify if the flag RollbackAAI =Yes.
6d
  • If Yes, then delete the service instance entry in AAI.
6e
  • Post process the result and send response to ExternalAPI with valid message.
  • No labels