diff options
author | Jim Hahn <jrh3@att.com> | 2017-11-15 18:25:57 -0500 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2017-11-15 18:25:57 -0500 |
commit | 98d48a4b34f07ac40fddd2254b78b9ea84f88fa3 (patch) | |
tree | 344557a6163b55e072eef8892f986f9d10b5fbe4 /bpmn/MSOInfrastructureBPMN/src | |
parent | 0900a8bed342b8667052367fe5e24f369f357bb1 (diff) |
Modified create-vcpe to filter out "bad" VNFs
Modified create-vcpe to delete the BRG and TXC items from the
service VNF list contained within the service decomposition
structure.
Change-Id: I7624a93b422fa172a2079f70d66a2604ee2229b0
Issue-Id: SO-344
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'bpmn/MSOInfrastructureBPMN/src')
2 files changed, 85 insertions, 17 deletions
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy index 703ea8be6d..dd6d4514bc 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy @@ -343,6 +343,9 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor { // VNFs
List<VnfResource> vnfList = serviceDecomposition.getServiceVnfs()
+ filterVnfs(vnfList)
+ serviceDecomposition.setServiceVnfs(vnfList)
+
execution.setVariable("vnfList", vnfList)
execution.setVariable("vnfListString", vnfList.toString())
@@ -372,6 +375,24 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor { exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
}
+
+ private void filterVnfs(List<VnfResource> vnfList) {
+ if(vnfList == null) {
+ return
+ }
+
+ // remove BRG & TXC from VNF list
+
+ Iterator<VnfResource> it = vnfList.iterator()
+ while(it.hasNext()) {
+ VnfResource vr = it.next()
+
+ String role = vr.getNfRole()
+ if(role == "BRG" || role == "TunnelXConn") {
+ it.remove()
+ }
+ }
+ }
public void prepareCreateAllottedResourceTXC(Execution execution) {
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy index f0645b2bc7..70050422ee 100644 --- a/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/test/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy @@ -370,7 +370,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { // @Ignore public void processDecomposition() { ExecutionEntity mex = setupMock() - def svcdecomp = initProcessDecomposition(mex, true, true) + def svcdecomp = initProcessDecomposition(mex) CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService() CreateVcpeResCustService.processDecomposition(mex) @@ -378,8 +378,8 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { verify(mex).getVariable(DBGFLAG) verify(mex).setVariable("vnfList", svcdecomp.getServiceVnfs()) - verify(mex).setVariable("vnfListString", '[myvnf, myvnf2, myvnf3]') - verify(mex).setVariable(Prefix+"VNFsCount", 3) + verify(mex).setVariable("vnfListString", '[myvnf]') + verify(mex).setVariable(Prefix+"VNFsCount", 1) verify(mex).setVariable("vnfModelInfo", "mymodel") verify(mex).setVariable("vnfModelInfoString", "mymodel") @@ -389,7 +389,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { // @Ignore public void processDecomposition_EmptyNet_EmptyVnf() { ExecutionEntity mex = setupMock() - def svcdecomp = initProcessDecomposition(mex, true, true) + def svcdecomp = initProcessDecomposition(mex) when(svcdecomp.getServiceVnfs()).thenReturn(new LinkedList<VnfResource>()) @@ -410,7 +410,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { // @Ignore public void processDecomposition_Ex() { ExecutionEntity mex = setupMock() - def svcdecomp = initProcessDecomposition(mex, true, true) + def svcdecomp = initProcessDecomposition(mex) when(svcdecomp.getServiceVnfs()).thenThrow(new RuntimeException("expected exception")) @@ -420,6 +420,35 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { } + // ***** filterVnfs ***** + + @Test + // @Ignore + public void filterVnfs() { + ExecutionEntity mex = setupMock() + def svcdecomp = initFilterVnfs(mex) + + CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService() + CreateVcpeResCustService.processDecomposition(mex) + + verify(mex).setVariable("vnfListString", '[myvnf3, myvnf5]') + } + + @Test + // @Ignore + public void filterVnfs_Null() { + ExecutionEntity mex = setupMock() + def svcdecomp = initFilterVnfs(mex) + + when(svcdecomp.getServiceVnfs()).thenReturn(null) + + CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService() + CreateVcpeResCustService.processDecomposition(mex) + + // nothing more to check, as long as it didn't throw an exception + } + + // ***** prepareCreateAllottedResourceTXC ***** @Test @@ -1034,13 +1063,30 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { when(mex.getVariable("serviceInstanceName")).thenReturn("sin") } - private ServiceDecomposition initProcessDecomposition(ExecutionEntity mex, boolean haveNet, boolean haveVnf) { + private ServiceDecomposition initProcessDecomposition(ExecutionEntity mex) { + List<VnfResource> vnflst = new LinkedList<>() + vnflst.add(makeVnf("", "")) + vnflst.add(makeVnf("2", "BRG")) + vnflst.add(makeVnf("3", "BRG")) + + ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class) + when(svcdecomp.getServiceVnfs()).thenReturn(vnflst) + + when(mex.getVariable(DBGFLAG)).thenReturn("true") + when(mex.getVariable("serviceDecomposition")).thenReturn(svcdecomp) + when(mex.getVariable("serviceInstanceId")).thenReturn("sii") + when(mex.getVariable("serviceInstanceName")).thenReturn("sin") + + return svcdecomp + } + + private ServiceDecomposition initFilterVnfs(ExecutionEntity mex) { List<VnfResource> vnflst = new LinkedList<>() - if(haveVnf) { - vnflst.add(makeVnf("")) - vnflst.add(makeVnf("2")) - vnflst.add(makeVnf("3")) - } + vnflst.add(makeVnf("", "BRG")) + vnflst.add(makeVnf("2", "TunnelXConn")) + vnflst.add(makeVnf("3", "")) + vnflst.add(makeVnf("4", "BRG")) + vnflst.add(makeVnf("5", "other")) ServiceDecomposition svcdecomp = mock(ServiceDecomposition.class) when(svcdecomp.getServiceVnfs()).thenReturn(vnflst) @@ -1133,10 +1179,10 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { List<VnfResource> vnflst = new LinkedList<>() - vnflst.add(makeVnf("A")) - vnflst.add(makeVnf("B")) - vnflst.add(makeVnf("C")) - vnflst.add(makeVnf("D")) + vnflst.add(makeVnf("A", "BRG")) + vnflst.add(makeVnf("B", "")) + vnflst.add(makeVnf("C", "")) + vnflst.add(makeVnf("D", "TunnelXConn")) when(mex.getVariable(DBGFLAG)).thenReturn("true") when(mex.getVariable("createVcpeServiceRequest")).thenReturn(request) @@ -1146,7 +1192,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { when(mex.getVariable("sdncVersion")).thenReturn("myvers") } - private VnfResource makeVnf(String id) { + private VnfResource makeVnf(String id, String role) { ModelInfo mod = mock(ModelInfo.class) VnfResource vnf = mock(VnfResource.class) @@ -1154,8 +1200,9 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { when(vnf.toString()).thenReturn("myvnf"+id) when(vnf.getModelInfo()).thenReturn(mod) + when(vnf.getNfRole()).thenReturn(role) - return vnf + return vnf } private initValidateVnfCreate(ExecutionEntity mex) { |