RA: Add option for sequential number assignment from a range 61/109461/1
authorstan-sb <67116470+stan-sb@users.noreply.github.com>
Tue, 23 Jun 2020 14:21:23 +0000 (10:21 -0400)
committerstanbonev <sb5356@att.com>
Tue, 23 Jun 2020 14:31:24 +0000 (10:31 -0400)
Fix case, when no previous numbers have been allocated

Change-Id: Iead3cb4fe4a8ed3f6de363d31677eb389e9f1329
Issue-ID: CCSDK-2416
Signed-off-by: Stan Bonev <sb5356@att.com>
resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java
resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve.java

index 5ec7c26..4850106 100644 (file)
@@ -359,9 +359,7 @@ class AllocationFunction extends SynchronizedFunction {
                                 break;
                             }
                         }
-                        if (foundAllocated) {
-                            n++;
-                        }
+                        n++;
                         for (; foundCount < req.requestedCount && n <= range.max; n++) {
                             foundNumbers.add(n);
                             foundCount++;
index af9508a..ab2d936 100644 (file)
@@ -918,4 +918,39 @@ public class TestReserve {
         Assert.assertTrue(st == QueryStatus.SUCCESS);
         Assert.assertTrue(dataSetup.checkRangeItem(resourceName, assetId, "SI::" + entityId + "_test::VPE-Core2::1", "2222"));
     }
+
+    @Test
+    public void test014() throws Exception {
+        String t = "014";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test range-next-in-sequence = true - no previously reserved numbers");
+
+        String entityId = "reserve" + t;
+        String targetId = "port-id-1";
+        String resourceName = "vlan-id-filter";
+
+        String assetId = "Site::" + targetId;
+
+        dataSetup.cleanup();
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("ra-input.service-model", "MY-SERV-MODEL");
+        ctx.setAttribute("ra-input.endpoint-position", "VPE-Core2");
+        ctx.setAttribute("ra-input.check-only", "false");
+
+        ctx.setAttribute("ra-input.resource-name", resourceName);
+        ctx.setAttribute("ra-input.range-next-in-sequence", "true");
+
+        ctx.setAttribute("ra-input.reservation-entity-type", "SI");
+        ctx.setAttribute("ra-input.reservation-entity-id", entityId + "_test");
+        ctx.setAttribute("ra-input.reservation-entity-version", "1");
+
+        ctx.setAttribute("ra-input.reservation-target-id", targetId);
+        ctx.setAttribute("ra-input.reservation-target-type", "Site");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.checkRangeItem(resourceName, assetId, "SI::" + entityId + "_test::VPE-Core2::1", "1002"));
+    }
 }