Service Creation - Flowchart diagram (in R6)



Flowchart Diagram



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.