aboutsummaryrefslogtreecommitdiffstats
path: root/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateCoreSharedSlice.groovy
diff options
context:
space:
mode:
Diffstat (limited to 'bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateCoreSharedSlice.groovy')
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateCoreSharedSlice.groovy143
1 files changed, 73 insertions, 70 deletions
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateCoreSharedSlice.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateCoreSharedSlice.groovy
index 5ecfc9a872..b3c99c6e9a 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateCoreSharedSlice.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateCoreSharedSlice.groovy
@@ -115,7 +115,7 @@ class DoAllocateCoreSharedSlice extends AbstractServiceTaskProcessor {
logger.debug(Prefix+" **** Enter DoAllocateCoreSharedSlice ::: getNetworkInstanceAssociatedWithNssiId ****")
//NSSI Id as service Instance Id to get from Request
- String serviceInstanceId = execution.getVariable("serviceInstanceID")
+ String serviceInstanceId = execution.getVariable("nssiId")
String errorMsg = "query Network Service Instance from AAI failed"
AAIResultWrapper wrapper = queryAAI(execution, Types.SERVICE_INSTANCE, serviceInstanceId, errorMsg)
@@ -304,14 +304,6 @@ class DoAllocateCoreSharedSlice extends AbstractServiceTaskProcessor {
logger.debug(Prefix+" **** Exit DoAllocateCoreSharedSlice ::: getVnfRelationships ****")
}
-
- /**
- * query AAI
- * @param execution
- * @param aaiObjectName
- * @param instanceId
- * @return AAIResultWrapper
- */
private AAIResultWrapper queryAAI(DelegateExecution execution, AAIObjectName aaiObjectName, String instanceId, String errorMsg) {
logger.debug(Prefix+" **** Enter DoAllocateCoreSharedSlice ::: queryAAI ****")
String globalSubscriberId = execution.getVariable("globalSubscriberId")
@@ -368,6 +360,8 @@ class DoAllocateCoreSharedSlice extends AbstractServiceTaskProcessor {
Map vnfMap = vnfList.get(0)
ModelInfo vnfModelInfo = vnfMap.get("modelInfo")
+ vnfModelInfo.setModelCustomizationId(vnfModelInfo.getModelCustomizationUuid())
+ vnfModelInfo.setModelVersionId(vnfModelInfo.getModelId())
logger.debug("vnfModelInfo "+vnfModelInfo)
//List of VFModules
@@ -380,6 +374,8 @@ class DoAllocateCoreSharedSlice extends AbstractServiceTaskProcessor {
//Traverse VFModules List and add in vfModelInfoList
for (vfModule in vfModuleList) {
ModelInfo vfModelInfo = vfModule.get("modelInfo")
+ vfModelInfo.setModelCustomizationId(vfModelInfo.getModelCustomizationUuid())
+ vfModelInfo.setModelVersionId(vfModelInfo.getModelId())
logger.debug("vfModelInfo "+vfModelInfo)
vfModelInfoList.add(vfModelInfo)
}
@@ -410,25 +406,31 @@ class DoAllocateCoreSharedSlice extends AbstractServiceTaskProcessor {
//Individual VFModule List
Map<String, Object> vfModuleValues = new LinkedHashMap<>()
vfModuleValues.put("modelInfo", vfModuleModelInfo)
- vfModuleValues.put("instanceName", vfModuleModelInfo.getModelInstanceName())
+ vfModuleValues.put("instanceName", vfModuleModelInfo.getModelName())
//VFModule InstanceParams should be empty or this field should not be there?
List<Map<String, Object>> vfModuleInstanceParams = new ArrayList<>()
vfModuleValues.put("instanceParams", vfModuleInstanceParams)
+ vfModules.add(vfModuleValues)
}
//Vnf intsanceParams
Map<String, Object> sliceProfile = mapper.readValue(execution.getVariable("sliceProfile"), Map.class);
- List vnfInstanceParamsList = new ArrayList<>()
+ List<Map<String, Object>> vnfInstanceParamsList = new ArrayList<>()
String supportedsNssaiJson= prepareVnfInstanceParamsJson(execution)
- vnfInstanceParamsList.add(supportedsNssaiJson)
+
+ Map<String, Object> supportedNssai= new LinkedHashMap<>()
+ supportedNssai.put("supportedsNssai", supportedsNssaiJson)
+ vnfInstanceParamsList.add(supportedNssai)
Platform platform = new Platform()
- platform.setPlatformName(execution.getVariable("platform"))
+ String platformName = execution.getVariable("platformName")
+ platform.setPlatformName(platformName)
LineOfBusiness lineOfbusiness = new LineOfBusiness()
- lineOfbusiness.setLineOfBusinessName(execution.getVariable("lineOfBusiness"))
+ String lineOfBusinessName = execution.getVariable("lineOfBusinessName")
+ lineOfbusiness.setLineOfBusinessName(lineOfBusinessName)
//Vnf Values
Map<String, Object> vnfValues = new LinkedHashMap<>()
@@ -438,7 +440,7 @@ class DoAllocateCoreSharedSlice extends AbstractServiceTaskProcessor {
vnfValues.put("cloudConfiguration", cloudConfiguration)
vnfValues.put("vfModules", vfModules)
vnfValues.put("modelInfo", vnfModelInfo)
- vnfValues.put("instanceName", execution.getVariable("vnfInstanceName"))
+ vnfValues.put("instanceName", vnfModelInfo.getModelInstanceName())
vnfValues.put("instanceParams",vnfInstanceParamsList)
vnfModelInfoList.add(vnfValues)
@@ -496,10 +498,8 @@ class DoAllocateCoreSharedSlice extends AbstractServiceTaskProcessor {
Map<String, Object> requestDetailsMap = new LinkedHashMap<>()
requestDetailsMap.put("requestDetails", requestDetails)
String requestPayload = mapper.writeValueAsString(requestDetailsMap)
-
logger.debug("requestDetails "+requestPayload)
execution.setVariable("requestPayload", requestPayload)
-
logger.debug(Prefix+" **** Exit DoAllocateCoreSharedSlice ::: prepareSOMacroRequestPayLoad ****")
}
@@ -508,14 +508,11 @@ class DoAllocateCoreSharedSlice extends AbstractServiceTaskProcessor {
List instanceParamsvalues = execution.getVariable("snssaiAndOrchStatusList")
Map<String, Object> nSsai= new LinkedHashMap<>()
nSsai.put("sNssai", instanceParamsvalues)
-
String supportedsNssaiJson = mapper.writeValueAsString(nSsai)
//SupportedNssai
- Map<String, Object> supportedNssai= new LinkedHashMap<>()
- supportedNssai.put("supportedNssai", supportedsNssaiJson)
- logger.debug("**** supportedsNssaiJson**** "+supportedNssai)
+ logger.debug("**** supportedsNssaiJson**** "+supportedsNssaiJson)
logger.debug(Prefix+" **** Exit DoAllocateCoreSharedSlice ::: prepareVnfInstanceParamsJson ****")
- return supportedNssai
+ return supportedsNssaiJson
}
public void sendPutRequestToSOMacro(DelegateExecution execution) {
@@ -523,14 +520,9 @@ class DoAllocateCoreSharedSlice extends AbstractServiceTaskProcessor {
try {
String msoEndpoint = UrnPropertiesReader.getVariable("mso.infra.endpoint.url", execution)
String url = msoEndpoint+"/serviceInstantiation/v7/serviceInstances/"+execution.getVariable("networkServiceInstanceId")+"/vnfs/"+execution.getVariable("vnfId")
-
String requestBody = execution.getVariable("requestPayload")
-
- String msoKey = UrnPropertiesReader.getVariable("mso.msoKey", execution)
- String basicAuth = UrnPropertiesReader.getVariable("mso.infra.endpoint.auth", execution)
- String basicAuthValue = utils.encrypt(basicAuth, msoKey)
- String encodeString = utils.getBasicAuth(basicAuthValue, msoKey)
-
+ String encodeString = "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+ logger.debug("msoEndpoint: "+msoEndpoint +" "+ "url: "+url +" requestBody: "+requestBody +" "+ "encodeString: "+encodeString)
HttpClient httpClient = getHttpClientFactory().newJsonClient(new URL(url), ONAPComponents.SO)
httpClient.addAdditionalHeader("Authorization", encodeString)
httpClient.addAdditionalHeader("Accept", "application/json")
@@ -546,84 +538,93 @@ class DoAllocateCoreSharedSlice extends AbstractServiceTaskProcessor {
logger.debug(Prefix+" **** Exit DoAllocateCoreSharedSlice ::: sendPostRequestToSOMacro ****")
}
- /**
- * Handle SO Response for PUT and prepare update operation status
- * @param execution
- */
private void handleSOResponse(Response httpResponse, DelegateExecution execution){
logger.debug(Prefix+" **** Enter DoAllocateCoreSharedSlice ::: handleSOResponse ****")
-
int soResponseCode = httpResponse.getStatus()
logger.debug("soResponseCode : "+soResponseCode)
if (soResponseCode >= 200 && soResponseCode < 204 && httpResponse.hasEntity()) {
String soResponse = httpResponse.readEntity(String.class)
- String operationId = execution.getVariable("operationId")
- def macroOperationId = jsonUtil.getJsonValue(soResponse, "operationId")
+ logger.debug("soResponse: "+soResponse)
+ logger.debug("soResponse JsonUtil: "+jsonUtil.getJsonValue(soResponse, "requestReferences.requestId"))
+ def macroOperationId = jsonUtil.getJsonValue(soResponse, "requestReferences.requestId")
+ def requestSelfLink = jsonUtil.getJsonValue(soResponse, "requestReferences.requestSelfLink")
execution.setVariable("macroOperationId", macroOperationId)
+ execution.setVariable("requestSelfLink", requestSelfLink)
execution.setVariable("isSOTimeOut", "no")
execution.setVariable("isSOResponseSucceed","yes")
}
else {
- String serviceName = execution.getVariable("serviceInstanceName")
execution.setVariable("isSOResponseSucceed","no")
prepareFailedOperationStatusUpdate(execution)
}
logger.debug(Prefix+" **** Exit DoAllocateCoreSharedSlice ::: handleSOResponse ****")
}
- /**
- * prepare to call sub process CheckProcessStatus
- * @param execution
- */
- void prepareCallCheckProcessStatus(DelegateExecution execution){
- logger.debug(Prefix+" **** Enter DoAllocateCoreSharedSlice ::: prepareCallCheckProcessStatus ****")
- def successConditions = new ArrayList<>()
- successConditions.add("finished")
- execution.setVariable("successConditions", successConditions)
- def errorConditions = new ArrayList<>()
- errorConditions.add("error")
- execution.setVariable("errorConditions", errorConditions)
- execution.setVariable("processServiceType", "Network service")
- execution.setVariable("subOperationType", "PUT")
- execution.setVariable("initProgress", 20)
- execution.setVariable("endProgress",90)
- execution.setVariable("timeOut", TIMEOUT)
- logger.debug(Prefix+" **** Exit DoAllocateCoreSharedSlice ::: prepareCallCheckProcessStatus ****")
+ public void getSOPUTProgress(DelegateExecution execution) {
+ logger.debug(Prefix+ " **** Enter DoAllocateCoreSharedSlice ::: getSOPUTProgress ****")
+ String url= execution.getVariable("requestSelfLink")
+ logger.debug("url "+url)
+ HttpClient httpClient = getHttpClientFactory().newJsonClient(new URL(url), ONAPComponents.SO)
+ //Hardcoding for now, will be updated in next patch
+ httpClient.addAdditionalHeader("Authorization", "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==")
+ httpClient.addAdditionalHeader("Accept", "application/json")
+ Response httpResponse = httpClient.get()
+ logger.debug("httpResponse "+httpResponse)
+ int soResponseCode = httpResponse.getStatus()
+ logger.debug("soResponseCode : "+soResponseCode)
+ if (soResponseCode >= 200 && soResponseCode < 204 && httpResponse.hasEntity()) {
+ String soResponse = httpResponse.readEntity(String.class)
+ logger.debug("soResponse: "+soResponse)
+ String requestState= jsonUtil.getJsonValue(soResponse, "request.requestStatus.requestState")
+ logger.debug("requestState: "+requestState)
+ execution.setVariable("requestState", requestState)
+ } else {
+ execution.setVariable("isSOResponseSucceed","no")
+ prepareFailedOperationStatusUpdate(execution)
+ }
+ logger.debug(Prefix+ " **** Exit DoAllocateCoreSharedSlice ::: getSOPUTProgress ****")
+ }
+
+ public void timeDelay(DelegateExecution execution) {
+ try {
+ logger.debug(Prefix+ " **** DoAllocateCoreSharedSlice ::: timeDelay going to sleep for 5 sec")
+ Thread.sleep(5000)
+ logger.debug("**** DoAllocateCoreNonSharedSlice ::: timeDelay wakeup after 5 sec")
+ } catch(InterruptedException e) {
+ logger.error(Prefix+ " **** DoAllocateCoreSharedSlice ::: timeDelay exception" + e)
+ }
}
void prepareUpdateResourceOperationStatus(DelegateExecution execution) {
logger.debug(Prefix+" **** Enter DoAllocateCoreSharedSlice ::: prepareUpdateResourceOperationStatus ****")
//Prepare Update Status for PUT failure and success
- if(execution.getVariable("isTimeOut").equals("YES")) {
- logger.debug("TIMEOUT - SO PUT Failure")
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, "SO PUT Failure")
- } else {
+ if("COMPLETED".equals(execution.getVariable("requestState"))) {
execution.setVariable("progress", "100")
execution.setVariable("status", "finished")
execution.setVariable("operationContent", "AllocteCoreNSSI successful.")
- logger.debug("prepareFailureStatus,result:${execution.getVariable("result")}, reason: ${execution.getVariable("reason")}")
+ logger.debug("Success ,result:${execution.getVariable("result")}, reason: ${execution.getVariable("reason")}")
+ } else {
+ logger.debug("SO PUT Failure")
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, "SO PUT Failure")
}
setResourceOperationStatus(execution)
logger.debug(Prefix+" **** Exit DoAllocateCoreSharedSlice ::: prepareUpdateResourceOperationStatus ****")
}
- /**
- * prepare ResourceOperation status
- * @param execution
- * @param operationType
- */
private void setResourceOperationStatus(DelegateExecution execution) {
logger.debug(Prefix+" **** Enter DoAllocateCoreSharedSlice ::: setResourceOperationStatus ****")
String serviceId = execution.getVariable("nssiId")
String jobId = execution.getVariable("jobId")
String nsiId = execution.getVariable("nsiId")
String operationType = execution.getVariable("operationType")
+ logger.debug("serviceId: "+serviceId +" "+ " jobId: "+jobId +" "+ " nsiId: "+nsiId+" nssiId: "+nssiId+" operationType: "+operationType)
ResourceOperationStatus resourceOperationStatus = new ResourceOperationStatus()
resourceOperationStatus.setServiceId(serviceId)
resourceOperationStatus.setOperationId(jobId)
resourceOperationStatus.setResourceTemplateUUID(nsiId)
+ resourceOperationStatus.setResourceInstanceID(nssiId)
resourceOperationStatus.setOperType(operationType)
resourceOperationStatus.setStatus("finished")
resourceOperationStatus.setProgress("100")
@@ -634,17 +635,19 @@ class DoAllocateCoreSharedSlice extends AbstractServiceTaskProcessor {
void prepareFailedOperationStatusUpdate(DelegateExecution execution){
logger.debug(Prefix + " **** Enter DoAllocateCoreSharedSlice ::: prepareFailedOperationStatusUpdate ****")
- String serviceId = execution.getVariable("nssiId")
+ String serviceId = execution.getVariable("nsiId")
String jobId = execution.getVariable("jobId")
String nsiId = execution.getVariable("nsiId")
- String operationType = execution.getVariable("operationType")
-
+ String operationType = "ALLOCATE"
+ logger.debug("serviceId: "+serviceId +" "+ " jobId: "+jobId +" "+ " nsiId: "+nsiId+" operationType: "+operationType)
+ String modelUuid= execution.getVariable("modelUuid")
ResourceOperationStatus resourceOperationStatus = new ResourceOperationStatus()
resourceOperationStatus.setServiceId(serviceId)
+ resourceOperationStatus.setJobId(jobId)
resourceOperationStatus.setOperationId(jobId)
- resourceOperationStatus.setResourceTemplateUUID(nsiId)
+ resourceOperationStatus.setResourceTemplateUUID(modelUuid)
resourceOperationStatus.setOperType(operationType)
- resourceOperationStatus.setProgress(0)
+ resourceOperationStatus.setProgress("0")
resourceOperationStatus.setStatus("failed")
resourceOperationStatus.setStatusDescription("Core NSSI Allocate Failed")
requestDBUtil.prepareUpdateResourceOperationStatus(execution, resourceOperationStatus)