Fix issues in shared NSI flow in NSMF 60/121860/2
authordeepikasatheesh <deepika.s84@wipro.com>
Thu, 10 Jun 2021 19:42:00 +0000 (19:42 +0000)
committerdeepikasatheesh <deepika.s84@wipro.com>
Thu, 10 Jun 2021 19:53:33 +0000 (19:53 +0000)
Issue-ID: SO-3629

Signed-off-by: deepikasatheesh <deepika.s84@wipro.com>
Change-Id: Ib67ffb8f0143549177e7b2776b219fab4d7f00eb

bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/AAISliceUtil.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoAllocateNSIandNSSI.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceOption.groovy
common/src/main/java/org/onap/so/beans/nsmf/AnSliceProfile.java
common/src/main/java/org/onap/so/beans/nsmf/SliceProfileAdapter.java

index c91316e..69c1c9f 100644 (file)
@@ -677,7 +677,7 @@ return json.toString()
         requestInfo.setCallbackUrl(callbackUrl)
         requestInfo.setSourceId("so")
         requestInfo.setTimeout(timeOut)
-        requestInfo.setNumSolutions(100)
+        requestInfo.setNumSolutions(1)
 
         nsiReqBody.setRequestInfo(requestInfo)
         nsiReqBody.setNSTInfo(nstInfo)
index b2415e2..1b09c49 100644 (file)
@@ -136,7 +136,7 @@ class AAISliceUtil {
             exceptionUtil.buildAndThrowWorkflowException(execution, 2500, errorMsg)
         }
         AAIResultWrapper wrapper = getAAIClient().get(uri, NotFoundException.class)
-        LOGGER.trace(" *****${PREFIX} Exit queryAAI *****")
+        LOGGER.trace(" ***** Exit queryAAI *****")
         return wrapper
     }
 
index a3e245f..e428104 100644 (file)
@@ -428,7 +428,8 @@ class DoAllocateNSIandNSSI extends AbstractServiceTaskProcessor{
         serviceInfo.serviceInvariantUuid = sliceTaskInfo.NSSTInfo.invariantUUID
         serviceInfo.serviceUuid = sliceTaskInfo.NSSTInfo.UUID
         serviceInfo.sST = sliceTaskInfo.sliceProfile.sST ?: sliceParams.serviceProfile.get("sST")
-        serviceInfo.nssiName = allocateAnNssi.nssiName
+        serviceInfo.nssiName = sliceTaskInfo.suggestNssiId ? sliceTaskInfo.NSSTInfo.name : allocateAnNssi.nssiName
+        serviceInfo.nssiId = sliceTaskInfo.suggestNssiId
 
         nbiRequest.setServiceInfo(serviceInfo)
         nbiRequest.setEsrInfo(esrInfo)
index 91a69b3..ac95954 100644 (file)
@@ -374,14 +374,15 @@ class DoCreateSliceServiceOption extends AbstractServiceTaskProcessor{
         if (solution != null) {
             if (execution.getVariable("queryNsiFirst")) {
                 if (solution.get("existingNSI")) {
+                    processSharedNSI(solution, sliceTaskParams, execution)
                     execution.setVariable("needQuerySliceProfile", true)
                 } else {
-                    processNewNSI(solution, sliceTaskParams)
+                    processNewSliceProfiles(solution, sliceTaskParams)
                     execution.setVariable("needQuerySliceProfile", false)
                 }
                 execution.setVariable("queryNsiFirst", false)
             } else {
-                processSharedNSI(solution, sliceTaskParams, execution)
+                processNewSliceProfiles(solution, sliceTaskParams)
                 execution.setVariable("needQuerySliceProfile", false)
             }
         }
@@ -400,18 +401,17 @@ class DoCreateSliceServiceOption extends AbstractServiceTaskProcessor{
         List<String> nssiId = aaiSliceUtil.getNSSIIdList(execution,nsiId)
         List<ServiceInstance> nssiInstances = aaiSliceUtil.getNSSIListFromAAI(execution, nssiId)
 
-        List<Map> sliceProfiles = sharedNSISolution.get("sliceProfiles") as List<Map>
-        handleSliceProfiles(sliceProfiles, sliceParams)
         Map<String, Object> nssiSolution = new HashMap<>()
         for(ServiceInstance instance: nssiInstances){
             nssiSolution.put("NSSIId", instance.getServiceInstanceId())
             nssiSolution.put("NSSIName", instance.getServiceInstanceName())
-            processNssiResult(sliceParams, instance.getEnvironmentContext(), nssiSolution)
+            SubnetType subnetType = instance.getWorkloadContext() as SubnetType
+            processNssiResult(sliceParams, subnetType, nssiSolution)
         }
 
     }
 
-    private void processNewNSI(Map<String, Object> solution, SliceTaskParamsAdapter sliceParams) {
+    private void processNewSliceProfiles(Map<String, Object> solution, SliceTaskParamsAdapter sliceParams) {
         Map<String, Object> newNSISolution = solution.get("newNSISolution") as Map
         List<Map> sliceProfiles = newNSISolution.get("sliceProfiles") as List<Map>
         handleSliceProfiles(sliceProfiles, sliceParams)
index 3d0f708..be4833a 100644 (file)
@@ -66,4 +66,7 @@ public class AnSliceProfile implements Serializable {
     @JsonProperty(value = "resourceSharingLevel")
     private ResourceSharingLevel resourceSharingLevel;
 
+    @JsonProperty(value = "maxNumberofPDUSession")
+    private int maxNumberOfPDUSession;
+
 }
index 90cee27..0bd6d64 100644 (file)
@@ -131,6 +131,7 @@ public class SliceProfileAdapter implements Serializable {
 
         anSliceProfile.setUeMobilityLevel(UeMobilityLevel.fromString(this.ueMobilityLevel));
         anSliceProfile.setResourceSharingLevel(ResourceSharingLevel.fromString(this.resourceSharingLevel));
+        anSliceProfile.setMaxNumberOfPDUSession(this.maxNumberOfPDUSession);
         anSliceProfile.setPerfReq(generatePerfReq());
 
         return anSliceProfile;
@@ -158,6 +159,8 @@ public class SliceProfileAdapter implements Serializable {
             List<PerfReqEmbb> perfReqEmbbs = new ArrayList<>();
             PerfReqEmbb perfReqEmbb = new PerfReqEmbb();
             BeanUtils.copyProperties(this, perfReqEmbb);
+            perfReqEmbb.setExpDataRateDL(this.expDataRateDL);
+            perfReqEmbb.setExpDataRateUL(this.expDataRateUL);
             perfReqEmbbs.add(perfReqEmbb);
             perfReq.setPerfReqEmbbList(perfReqEmbbs);
         } else if ("ullc".equalsIgnoreCase(sST)) {