diff options
author | Lori Keighron <lk2924@att.com> | 2019-02-11 17:21:37 -0500 |
---|---|---|
committer | Takamune Cho <takamune.cho@att.com> | 2019-02-14 16:28:17 +0000 |
commit | c751a9532c263b542f7f420071c545844fa56dc7 (patch) | |
tree | 3336fee3eef71604bf9b4e7740446e6dec094c3a /appc-sequence-generator | |
parent | 796ca12ab0fba32db8b4a0dff4cc4e972652c35d (diff) |
Check vm-capabilites on vnf-level OS requests
New per-vm capabilities checking is introduced for vnf-level OpenStack actions
Additional changes per initial review.
Additional changes in TestVnfc.java per second review.
Change-Id: Idd1d834df076c1e525f596b788b69ed63ba9e66b
Issue-ID: APPC-1380
Signed-off-by: Lori Keighron <lk2924@att.com>
Diffstat (limited to 'appc-sequence-generator')
55 files changed, 3044 insertions, 1418 deletions
diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/dgplugin/impl/SequenceGeneratorPluginImpl.java b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/dgplugin/impl/SequenceGeneratorPluginImpl.java index a53c408e8..111085e18 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/dgplugin/impl/SequenceGeneratorPluginImpl.java +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/dgplugin/impl/SequenceGeneratorPluginImpl.java @@ -42,7 +42,9 @@ import org.onap.appc.exceptions.APPCException; import org.onap.appc.seqgen.SequenceGenerator; import org.onap.appc.seqgen.dgplugin.SequenceGeneratorPlugin; import org.onap.appc.seqgen.impl.SequenceGeneratorFactory; +import org.onap.appc.seqgen.objects.CapabilityModel; import org.onap.appc.seqgen.objects.Constants; +import org.onap.appc.seqgen.objects.Constants.ActionLevel; import org.onap.appc.seqgen.objects.SequenceGeneratorInput; import org.onap.appc.seqgen.objects.Transaction; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; @@ -51,7 +53,9 @@ import java.io.IOException; import java.util.Map; import java.util.List; import java.util.HashSet; +import java.util.Iterator; import java.util.Set; +import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; @@ -67,10 +71,15 @@ public class SequenceGeneratorPluginImpl implements SequenceGeneratorPlugin { try { SequenceGeneratorInput sequenceGeneratorInput = buildSequenceGeneratorInput(inputJSON); List<Transaction> sequence = generateSequence(sequenceGeneratorInput); - String output = objectMapper.writeValueAsString(sequence); - logger.debug("Sequence Generator Output " + output); - - context.setAttribute("output", output); + if (sequence.isEmpty()) { + logger.error("Error generating sequence"); + context.setAttribute("error-code", "450"); + context.setAttribute("error-message", "Request is not supported"); + } else { + String output = objectMapper.writeValueAsString(sequence); + logger.debug("Sequence Generator Output " + output); + context.setAttribute("output", output); + } } catch (Exception e) { logger.error("Error generating sequence", e); context.setAttribute("error-code", "401"); @@ -89,13 +98,16 @@ public class SequenceGeneratorPluginImpl implements SequenceGeneratorPlugin { sequenceGeneratorInput.setInventoryModel(inventoryModel); VnfcDependencyModel dependencyModel = buildDependencyModel(inputJson); - if(dependencyModel!=null){ + if(dependencyModel != null){ validateInventoryModelWithDependencyModel(dependencyModel,inventoryModel); } sequenceGeneratorInput.setDependencyModel(dependencyModel); + CapabilityModel capModel = buildCapabilitiesModel(inputJson); + sequenceGeneratorInput.setCapabilityModel(capModel); return sequenceGeneratorInput; } + private List<Transaction> generateSequence(SequenceGeneratorInput sequenceGeneratorInput) throws Exception { if (sequenceGeneratorInput.getRequestInfo() == null) { throw new APPCException("Request info is not provided in the input"); @@ -286,6 +298,7 @@ public class SequenceGeneratorPluginImpl implements SequenceGeneratorPlugin { Vnfc vfc = new Vnfc(); vfc.setVnfcType(vm.get("vnfc").get("vnfc-type").asText()); vfc.setVnfcName(vm.get("vnfc").get("vnfc-name").asText()); + vfc.setVnfcFunctionCode(vm.get("vnfc").get("vnfc-function-code").asText()); vserver.setVnfc(vfc); List<Vserver> vServers = vfcs.get(vfc); if (vServers == null) { @@ -305,4 +318,65 @@ public class SequenceGeneratorPluginImpl implements SequenceGeneratorPlugin { return new InventoryModel(vnf); } + private CapabilityModel buildCapabilitiesModel(String inputJson) throws IOException, APPCException { + logger.info("Entering buildCapabilitiesModel"); + + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode jsonNode = objectMapper.readTree(inputJson); + JsonNode capabilitiesNode = jsonNode.get("capabilities"); + if (capabilitiesNode == null) { + return null; + } + + List<String> vnfCapabilities = new ArrayList<>(); + List<String> vfModuleCapabilities = new ArrayList<>(); + Map<String, List<String>> vmCapabilities = new HashMap<>(); + List<String> vnfcCapabilities = new ArrayList<>(); + + JsonNode vnfNode = capabilitiesNode.get(ActionLevel.VNF.getAction()); + JsonNode vfModuleNode = capabilitiesNode.get(ActionLevel.VF_MODULE.getAction()); + JsonNode vmNode = capabilitiesNode.get(ActionLevel.VM.getAction()); + JsonNode vnfcNode = capabilitiesNode.get(ActionLevel.VNFC.getAction()); + + if (vnfNode != null && vnfNode.isArray() ) { + for (JsonNode nodes : vnfNode) { + vnfCapabilities.add(nodes.asText()); + } + } + if (vfModuleNode != null && vfModuleNode.isArray() ){ + for (JsonNode nodes : vfModuleNode) { + vfModuleCapabilities.add(nodes.asText()); + } + } + if (vmNode != null && vmNode.isArray() ){ + for (JsonNode jNode : vmNode) { + logger.debug("jNode=" + jNode); + Iterator<Map.Entry<String,JsonNode>> fldIter = jNode.fields(); + while (fldIter.hasNext()) { + Map.Entry<String,JsonNode> currentEntry = fldIter.next(); + logger.debug("currentEntry.getKey()=" + currentEntry.getKey()); + logger.debug("currentEntry.getValue()=" + currentEntry.getValue()); + if (currentEntry.getValue().isArray()) { + logger.debug("currentEntry.getValue().isArray() is true"); + List<String> ls = new ArrayList<String>(); + for (JsonNode node: currentEntry.getValue()) { + ls.add(node.asText()); + } + vmCapabilities.put(currentEntry.getKey(), ls); + } + } + } + } + if (vnfcNode != null && vnfcNode.isArray() ){ + for (JsonNode nodes : vnfcNode) { + vnfcCapabilities.add(nodes.asText()); + } + } + logger.info("vnfCapabilities=" + vnfCapabilities); + logger.info("vfModuleCapabilities=" + vfModuleCapabilities); + logger.info("vmCapabilities=" + vmCapabilities); + logger.info("vnfcCapabilities=" + vnfcCapabilities); + + return new CapabilityModel(vnfCapabilities, vfModuleCapabilities, vmCapabilities, vnfcCapabilities); + } } diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/impl/RestartSequenceGenerator.java b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/impl/RestartSequenceGenerator.java index 5ab0b5408..2f5080d0b 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/impl/RestartSequenceGenerator.java +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/impl/RestartSequenceGenerator.java @@ -31,6 +31,7 @@ import org.onap.appc.domainmodel.Vserver; import org.onap.appc.seqgen.SequenceGenerator; import org.onap.appc.seqgen.objects.ActionIdentifier; import org.onap.appc.seqgen.objects.Constants; +import org.onap.appc.seqgen.objects.Constants.Action; import org.onap.appc.seqgen.objects.Response; import org.onap.appc.seqgen.objects.SequenceGeneratorInput; import org.onap.appc.seqgen.objects.Transaction; @@ -57,6 +58,11 @@ public class RestartSequenceGenerator implements SequenceGenerator{ List<Integer> transactionIds = new LinkedList<>(); PayloadGenerator payloadGenerator = new PayloadGenerator(); for (Vserver vm : vservers) { + // check vm-Restart-capabilities for this vm's vnfc-function-code (before incrementing transactionId) + String vmVnfcFunctionCode = vm.getVnfc().getVnfcFunctionCode(); + if (!vmSupportsRestart(input, vmVnfcFunctionCode)) { + continue; + } Transaction transactionStop = new Transaction(); transactionStop.setTransactionId(transactionId); transactionIds.add(transactionId++); @@ -73,12 +79,12 @@ public class RestartSequenceGenerator implements SequenceGenerator{ Response failureResponse = new Response(); failureResponse.setResponseMessage(Constants.ResponseMessage.FAILURE.getResponse()); Map<String,String> failureAction = new HashMap<>(); - if(!checkLastVM(vservers,vm.getId())) - { - failureAction.put(Constants.ResponseAction.JUMP.getAction(), String.valueOf(transactionId+1)); + //if(!checkLastVM(vservers,vm.getId())) + //{ + failureAction.put(Constants.ResponseAction.STOP.getAction(), String.valueOf(transactionId+1)); failureResponse.setResponseAction(failureAction); transactionStop.addResponse(failureResponse); - } + //} } transactionList.add(transactionStop); Transaction transactionStart = new Transaction(); @@ -95,20 +101,58 @@ public class RestartSequenceGenerator implements SequenceGenerator{ Response failureResponse = new Response(); failureResponse.setResponseMessage(Constants.ResponseMessage.FAILURE.getResponse()); Map<String,String> failureAction = new HashMap<>(); - if(!checkLastVM(vservers,vm.getId())) - { - failureAction.put(Constants.ResponseAction.JUMP.getAction(),transactionId.toString()); + //if(!checkLastVM(vservers,vm.getId())) + //{ + //failureAction.put(Constants.ResponseAction.JUMP.getAction(),transactionId.toString()); + failureAction.put(Constants.ResponseAction.STOP.getAction(),transactionId.toString()); failureResponse.setResponseAction(failureAction); transactionStart.addResponse(failureResponse); - } + //} } transactionList.add(transactionStart); } return transactionList; } + + private boolean vmSupportsRestart(SequenceGeneratorInput input, String vnfcFunctionCode) { + boolean vmSupported = true; + if (input.getCapability() == null) { + logger.info("vmSupportsRestart: " + "Capabilities model is null, returning vmSupported=" + vmSupported); + return vmSupported; + } + Map<String, List<String>> vmCapabilities = input.getCapability().getVmCapabilities(); + logger.info("vmSupportsRestart: vnfcFunctionCode=" + vnfcFunctionCode + ", vmCapabilities=" + vmCapabilities); + if (vmCapabilities != null) { + if (!vmCapabilities.isEmpty()) { + vmSupported = false; + if (vmCapabilities.get(Action.RESTART.getActionType()) != null) { + if (vnfcFunctionCode != null && !vnfcFunctionCode.isEmpty()) { + for (String enabledFuncCode : vmCapabilities.get(Action.RESTART.getActionType()) ) { + if (enabledFuncCode.equalsIgnoreCase(vnfcFunctionCode)) { + vmSupported = true; + logger.info("vmSupportsRestart: vnfcFunctionCode=" + vnfcFunctionCode + " found in vmCapabilties"); + break; + } + } + } else { + logger.info("vmSupportsRestart: " + "Inventory vnfcFunctionCode is null or empty"); + } + } else { + logger.info("vmSupportsRestart: " + "Given action in vm entry in Capabilities model is null"); + } + } else { + logger.info("vmSupportsRestart: " + "Vm entry in Capabilities model is empty"); + } + } else { + logger.info("vmSupportsRestart: " + "Vm entry in Capabilities model is null"); + } + + logger.info("vmSupportsRestart: " + "returning vmSupported=" + vmSupported); + return vmSupported; + } - private boolean checkLastVM(List<Vserver> vservers, String vmId){ + private boolean checkLastVM(List<Vserver> vservers, String vmId){ Vserver vm= vservers.get(vservers.size()-1); return vm.getId().equals(vmId); } -} +}
\ No newline at end of file diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/impl/StartSequenceGenerator.java b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/impl/StartSequenceGenerator.java index 8c24fe24c..105173f33 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/impl/StartSequenceGenerator.java +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/impl/StartSequenceGenerator.java @@ -39,6 +39,7 @@ import org.onap.appc.domainmodel.Vserver; import org.onap.appc.exceptions.APPCException; import org.onap.appc.seqgen.SequenceGenerator; import org.onap.appc.seqgen.objects.ActionIdentifier; +import org.onap.appc.seqgen.objects.CapabilityModel; import org.onap.appc.seqgen.objects.Constants; import org.onap.appc.seqgen.objects.PreCheckOption; import org.onap.appc.seqgen.objects.Response; @@ -76,6 +77,11 @@ public class StartSequenceGenerator implements SequenceGenerator { List<Vserver> vservers = input.getInventoryModel().getVnf().getVservers(); List<Integer> transactionIds = new LinkedList<>(); for (Vserver vm : vservers) { + // check vm-Start-capabilities for this vm's vnfc-function-code (before incrementing transactionId) + String vmVnfcFunctionCode = vm.getVnfc().getVnfcFunctionCode(); + if (!vmSupportsStart(input, vmVnfcFunctionCode)) { + continue; + } Transaction transaction = new Transaction(); transaction.setTransactionId(transactionId); transactionIds.add(transactionId++); @@ -92,7 +98,7 @@ public class StartSequenceGenerator implements SequenceGenerator { Response ignoreResponse = new Response(); ignoreResponse.setResponseMessage(ResponseMessage.FAILURE.getResponse()); Map<String, String> ignoreAction = new HashMap<>(); - ignoreAction.put(ResponseAction.IGNORE.getAction(), Boolean.TRUE.toString()); + ignoreAction.put(ResponseAction.STOP.getAction(), Boolean.TRUE.toString()); ignoreResponse.setResponseAction(ignoreAction); transaction.addResponse(ignoreResponse); } @@ -114,7 +120,7 @@ public class StartSequenceGenerator implements SequenceGenerator { Response ignoreResponse = new Response(); ignoreResponse.setResponseMessage(ResponseMessage.FAILURE.getResponse()); Map<String, String> ignoreAction = new HashMap<>(); - ignoreAction.put(ResponseAction.IGNORE.getAction(), Boolean.TRUE.toString()); + ignoreAction.put(ResponseAction.STOP.getAction(), Boolean.TRUE.toString()); ignoreResponse.setResponseAction(ignoreAction); transaction.addResponse(ignoreResponse); } @@ -132,6 +138,11 @@ public class StartSequenceGenerator implements SequenceGenerator { List<Integer> transactionIds = new LinkedList<>(); if(!vms.isEmpty()) { for (Vserver vm : vms) { + // check vm-Start-capabilities for this vm's vnfc-function-code (before incrementing transactionId) + String vmVnfcFunctionCode = vm.getVnfc().getVnfcFunctionCode(); + if (!vmSupportsStart(input, vmVnfcFunctionCode)) { + continue; + } Transaction transaction = new Transaction(); transaction.setTransactionId(transactionId); transactionIds.add(transactionId++); @@ -144,7 +155,7 @@ public class StartSequenceGenerator implements SequenceGenerator { Response ignoreResponse = new Response(); ignoreResponse.setResponseMessage(ResponseMessage.FAILURE.getResponse()); Map<String, String> ignoreAction = new HashMap<>(); - ignoreAction.put(ResponseAction.IGNORE.getAction(), Boolean.TRUE.toString()); + ignoreAction.put(ResponseAction.STOP.getAction(), Boolean.TRUE.toString()); ignoreResponse.setResponseAction(ignoreAction); transaction.addResponse(ignoreResponse); transactionList.add(transaction); @@ -261,23 +272,27 @@ public class StartSequenceGenerator implements SequenceGenerator { return strategy; } - private boolean readHealthCheckCapabilites(Map<String, List<String>> capabilities) { - if (capabilities != null) { - List<String> vnfcCapabilities = capabilities.get(CapabilityLevel.VNFC.getLevel()); - if (vnfcCapabilities != null) - return vnfcCapabilities.stream() - .anyMatch(p -> Capabilties.HEALTH_CHECK.getCapability().equalsIgnoreCase(p)); + private boolean readHealthCheckCapabilites(CapabilityModel capabilities) { + if (capabilities == null) { + return true; } + List<String> vnfcCapabilities = capabilities.getVnfcCapabilities(); + if (vnfcCapabilities != null) + return vnfcCapabilities.stream() + .anyMatch(p -> Capabilties.HEALTH_CHECK.getCapability().equalsIgnoreCase(p)); + return false; } private boolean readApplicationStartCapability(SequenceGeneratorInput input) { - Map<String, List<String>> capability = input.getCapability(); - if (capability != null) { - List<String> vnfcCapabilities = capability.get(CapabilityLevel.VNFC.getLevel()); - if (vnfcCapabilities != null) - return vnfcCapabilities.stream().anyMatch(p -> Capabilties.START_APPLICATION.getCapability().equalsIgnoreCase(p)); - } + CapabilityModel capability = input.getCapability(); + if (capability == null) + return true; + List<String> vnfcCapabilities = capability.getVnfcCapabilities(); + if (vnfcCapabilities != null) + return vnfcCapabilities.stream() + .anyMatch(p -> Capabilties.START_APPLICATION.getCapability().equalsIgnoreCase(p)); + return false; } @@ -300,7 +315,8 @@ public class StartSequenceGenerator implements SequenceGenerator { List<Vserver> vservers = input.getInventoryModel().getVnf().getVservers(); for (Vserver vm : vservers) { if(!(vm.getVnfc()!=null&& vm.getVnfc().getVnfcType()!=null&& vm.getVnfc().getVnfcName()!=null)){ - vnfcPresent=false;break; + vnfcPresent=false; + break; } } return vnfcPresent; @@ -319,4 +335,41 @@ public class StartSequenceGenerator implements SequenceGenerator { throw new APPCException(message); } } -} + + private boolean vmSupportsStart(SequenceGeneratorInput input, String vnfcFunctionCode) { + boolean vmSupported = true; + if (input.getCapability() == null) { + logger.info("vmSupportsStart: " + "Capabilities model is null, returning vmSupported=" + vmSupported); + return vmSupported; + } + Map<String, List<String>> vmCapabilities = input.getCapability().getVmCapabilities(); + logger.info("vmSupportsStart: vnfcFunctionCode=" + vnfcFunctionCode + ", vmCapabilities=" + vmCapabilities); + if (vmCapabilities != null) { + if (!vmCapabilities.isEmpty()) { + vmSupported = false; + if (vmCapabilities.get(Action.START.getActionType()) != null) { + if (vnfcFunctionCode != null && !vnfcFunctionCode.isEmpty()) { + for (String enabledFuncCode : vmCapabilities.get(Action.START.getActionType()) ) { + if (enabledFuncCode.equalsIgnoreCase(vnfcFunctionCode)) { + vmSupported = true; + logger.info("vmSupportsStart: vnfcFunctionCode=" + vnfcFunctionCode + " found in vmCapabilties"); + break; + } + } + } else { + logger.info("vmSupportsStart: " + "Inventory vnfcFunctionCode is null or empty"); + } + } else { + logger.info("vmSupportsStart: " + "Given action in vm entry in Capabilities model is null"); + } + } else { + logger.info("vmSupportsStart: " + "Vm entry in Capabilities model is empty"); + } + } else { + logger.info("vmSupportsStart: " + "Vm entry in Capabilities model is null"); + } + + logger.info("vmSupportsStart: " + "returning vmSupported=" + vmSupported); + return vmSupported; + } +}
\ No newline at end of file diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/impl/StopSequenceGenerator.java b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/impl/StopSequenceGenerator.java index 9b73b0848..8b60dede4 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/impl/StopSequenceGenerator.java +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/impl/StopSequenceGenerator.java @@ -39,6 +39,7 @@ import org.onap.appc.seqgen.SequenceGenerator; import com.att.eelf.configuration.EELFLogger; import com.att.eelf.configuration.EELFManager; import org.onap.appc.seqgen.objects.ActionIdentifier; +import org.onap.appc.seqgen.objects.CapabilityModel; import org.onap.appc.seqgen.objects.Constants; import org.onap.appc.seqgen.objects.Response; import org.onap.appc.seqgen.objects.SequenceGeneratorInput; @@ -90,6 +91,11 @@ public class StopSequenceGenerator implements SequenceGenerator { List<Vserver> vservers = input.getInventoryModel().getVnf().getVservers(); List<Integer> transactionIds = new LinkedList<>(); for (Vserver vm : vservers) { + // check vm-Stop-capabilities for this vm's vnfc-function-code (before incrementing transactionId) + String vmVnfcFunctionCode = vm.getVnfc().getVnfcFunctionCode(); + if (!vmSupportsStop(input, vmVnfcFunctionCode)) { + continue; + } Transaction transaction = new Transaction(); transaction.setTransactionId(transactionId); transactionIds.add(transactionId++); @@ -106,7 +112,7 @@ public class StopSequenceGenerator implements SequenceGenerator { Response failureResponse = new Response(); failureResponse.setResponseMessage(ResponseMessage.FAILURE.getResponse()); Map<String,String> failureAction = new HashMap<>(); - failureAction.put(ResponseAction.IGNORE.getAction(),Boolean.TRUE.toString()); + failureAction.put(ResponseAction.STOP.getAction(),Boolean.TRUE.toString()); failureResponse.setResponseAction(failureAction); transaction.addResponse(failureResponse); } @@ -136,13 +142,17 @@ public class StopSequenceGenerator implements SequenceGenerator { Response failureResponse = new Response(); failureResponse.setResponseMessage(ResponseMessage.FAILURE.getResponse()); Map<String,String> failureAction = new HashMap<>(); - failureAction.put(ResponseAction.IGNORE.getAction(),Boolean.TRUE.toString()); + failureAction.put(ResponseAction.STOP.getAction(),Boolean.TRUE.toString()); failureResponse.setResponseAction(failureAction); stopAppTransaction.addResponse(failureResponse); transactionList.add(stopAppTransaction); } List<Vserver> vms = vnfc.getVserverList(); for(Vserver vm:vms){ + String vmVnfcFunctionCode = vm.getVnfc().getVnfcFunctionCode(); + if (!vmSupportsStop(input, vmVnfcFunctionCode)) { + continue; + } Transaction transaction = new Transaction(); transaction.setTransactionId(transactionId); transactionIds.add(transactionId++); @@ -155,7 +165,7 @@ public class StopSequenceGenerator implements SequenceGenerator { Response failureResponse = new Response(); failureResponse.setResponseMessage(ResponseMessage.FAILURE.getResponse()); Map<String,String> failureAction = new HashMap<>(); - failureAction.put(ResponseAction.IGNORE.getAction(),Boolean.TRUE.toString()); + failureAction.put(ResponseAction.STOP.getAction(),Boolean.TRUE.toString()); failureResponse.setResponseAction(failureAction); transaction.addResponse(failureResponse); transactionList.add(transaction); @@ -198,14 +208,51 @@ public class StopSequenceGenerator implements SequenceGenerator { } private boolean readApplicationStopCapability(SequenceGeneratorInput input) { - Map<String,List<String>> capability = input.getCapability(); - if(capability!= null){ - List<String> vnfcCapabilities = capability.get(Constants.CapabilityLevel.VNFC.getLevel()); - if(vnfcCapabilities!=null) - return vnfcCapabilities.stream().anyMatch(p -> Capabilties.STOP_APPLICATION.getCapability().equalsIgnoreCase(p)); + CapabilityModel capability = input.getCapability(); + if (capability == null) { + return true; } + List<String> vnfcCapabilities = capability.getVnfcCapabilities(); + if(vnfcCapabilities!=null) + return vnfcCapabilities.stream().anyMatch(p -> Capabilties.STOP_APPLICATION.getCapability().equalsIgnoreCase(p)); + return false; } + private boolean vmSupportsStop(SequenceGeneratorInput input, String vnfcFunctionCode) { + boolean vmSupported = true; + if (input.getCapability() == null) { + logger.info("vmSupportsStop: " + "Capabilities model is null, returning vmSupported=" + vmSupported); + return vmSupported; + } + Map<String, List<String>> vmCapabilities = input.getCapability().getVmCapabilities(); + logger.info("vmSupportsStop: vnfcFunctionCode=" + vnfcFunctionCode + ", vmCapabilities=" + vmCapabilities); + if (vmCapabilities != null) { + if (!vmCapabilities.isEmpty()) { + vmSupported = false; + if (vmCapabilities.get(Action.STOP.getActionType()) != null) { + if (vnfcFunctionCode != null && !vnfcFunctionCode.isEmpty()) { + for (String enabledFuncCode : vmCapabilities.get(Action.STOP.getActionType()) ) { + if (enabledFuncCode.equalsIgnoreCase(vnfcFunctionCode)) { + vmSupported = true; + logger.info("vmSupportsStop: vnfcFunctionCode=" + vnfcFunctionCode + " found in vmCapabilties"); + break; + } + } + } else { + logger.info("vmSupportsStop: " + "Inventory vnfcFunctionCode is null or empty"); + } + } else { + logger.info("vmSupportsStop: " + "Given action in vm entry in Capabilities model is null"); + } + } else { + logger.info("vmSupportsStop: " + "Vm entry in Capabilities model is empty"); + } + } else { + logger.info("vmSupportsStop: " + "Vm entry in Capabilities model is null"); + } -} + logger.info("vmSupportsStop: " + "returning vmSupported=" + vmSupported); + return vmSupported; + } +}
\ No newline at end of file diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/CapabilityModel.java b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/CapabilityModel.java new file mode 100644 index 000000000..9b0478754 --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/CapabilityModel.java @@ -0,0 +1,45 @@ +package org.onap.appc.seqgen.objects; + +import java.util.List; +import java.util.Map; + +public class CapabilityModel { + + private List<String> vnfCapabilities; + private List<String> vfModuleCapabilities; + private Map<String, List<String>> vmCapabilities; + private List<String> vnfcCapabilities; + + public CapabilityModel() { + } + + public CapabilityModel( List<String> vnfCapabilities, + List<String> vfModuleCapabilities, + Map<String, List<String>> vmCapabilities, + List<String> vnfcCapabilities) { + + this.vnfCapabilities = vnfCapabilities; + this.vfModuleCapabilities = vfModuleCapabilities; + this.vmCapabilities = vmCapabilities; + this.vnfcCapabilities = vnfcCapabilities; + } + public List<String> getVnfCapabilities() { + return vnfCapabilities; + } + public List<String> getVfModuleCapabilities() { + return vfModuleCapabilities; + } + public Map<String,List<String>> getVmCapabilities() { + return vmCapabilities; + } + public List<String> getVnfcCapabilities() { + return vnfcCapabilities; + } + @Override + public String toString() { + return "CapabilitiesModel = " + "vnf=" + getVnfCapabilities() + + "vfModule=" + getVfModuleCapabilities() + + "vm=" + getVmCapabilities() + + "vnfc=" + getVnfcCapabilities(); + } +} diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/Constants.java b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/Constants.java index 025c7698d..5b82b9e8e 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/Constants.java +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/Constants.java @@ -85,7 +85,19 @@ public class Constants { } public enum Action{ - START("Start"),START_APPLICATION("StartApplication"),HEALTH_CHECK("HealthCheck"),STOP_APPLICATION("StopApplication"),STOP("Stop"); + ATTACH_VOLUME("AttachVolume"), + DETACH_VOLUME("DetachVolume"), + EVACUATE("Evacuate"), + MIGRATE("Migrate"), + REBOOT("Reboot"), + REBUILD("Rebuild"), + RESTART("Restart"), + SNAPSHOT("Snapshot"), + START("Start"), + STOP("Stop"), + START_APPLICATION("StartApplication"), + HEALTH_CHECK("HealthCheck"), + STOP_APPLICATION("StopApplication"); Action(String actionType) { this.actionType=actionType; diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/SequenceGeneratorInput.java b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/SequenceGeneratorInput.java index d847b690b..c6778a8fc 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/SequenceGeneratorInput.java +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/SequenceGeneratorInput.java @@ -31,7 +31,6 @@ import org.onap.appc.dg.objects.InventoryModel; import org.onap.appc.dg.objects.VnfcDependencyModel; import javax.validation.constraints.NotNull; -import java.util.List; import java.util.Map; @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) @@ -42,17 +41,14 @@ public class SequenceGeneratorInput { @JsonProperty("request-info") private RequestInfo requestInfo; - @JsonIgnore private InventoryModel inventoryModel; - @JsonIgnore private VnfcDependencyModel dependencyModel; @JsonProperty("tunable-parameters") private Map<String,String> tunableParams; - @JsonProperty("capabilities") - private Map<String,List<String>> capability; + private CapabilityModel capabilityModel; public RequestInfo getRequestInfo() { return requestInfo; @@ -86,11 +82,11 @@ public class SequenceGeneratorInput { this.tunableParams = tunableParams; } - public Map<String, List<String>> getCapability() { - return capability; + public CapabilityModel getCapability() { + return capabilityModel; } - public void setCapability(Map<String, List<String>> capability) { - this.capability = capability; + public void setCapabilityModel(CapabilityModel capabilityModel) { + this.capabilityModel = capabilityModel; } } diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/SequenceGeneratorInputBuilder.java b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/SequenceGeneratorInputBuilder.java index 21b8f7b55..6066a9af1 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/SequenceGeneratorInputBuilder.java +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/objects/SequenceGeneratorInputBuilder.java @@ -40,21 +40,13 @@ public class SequenceGeneratorInputBuilder { private Map<String,String> tunableParams; - private Map<String,List<String>> capability; - + private CapabilityModel capabilityModel; + public SequenceGeneratorInputBuilder requestInfo(RequestInfo requestInfo){ this.requestInfo = requestInfo; return this; } - public SequenceGeneratorInputBuilder capability(String level,List<String> capabilities){ - if(this.capability ==null){ - this.capability = new HashMap<>(); - } - this.capability.put(level,capabilities); - return this; - } - public SequenceGeneratorInputBuilder tunableParameter(String key,String value){ if(this.tunableParams ==null){ this.tunableParams = new HashMap<>(); @@ -73,10 +65,14 @@ public class SequenceGeneratorInputBuilder { return this; } + public SequenceGeneratorInputBuilder capabilityModel(CapabilityModel model) { + this.capabilityModel = model; + return this; + } public SequenceGeneratorInput build(){ SequenceGeneratorInput input = new SequenceGeneratorInput(); input.setRequestInfo(this.requestInfo); - input.setCapability(this.capability); + input.setCapabilityModel(this.capabilityModel); input.setInventoryModel(this.inventoryModel); input.setDependencyModel(this.dependencyModel); input.setTunableParams(this.tunableParams); diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/provider/SequenceGeneratorProvider.java b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/provider/SequenceGeneratorProvider.java index 940cc2ab7..86d51e393 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/provider/SequenceGeneratorProvider.java +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/provider/SequenceGeneratorProvider.java @@ -45,7 +45,9 @@ import org.onap.appc.domainmodel.lcm.VNFOperation; import org.onap.appc.exceptions.APPCException; import org.onap.appc.seqgen.SequenceGenerator; import org.onap.appc.seqgen.impl.SequenceGeneratorFactory; +import org.onap.appc.seqgen.objects.CapabilityModel; import org.onap.appc.seqgen.objects.Constants; +import org.onap.appc.seqgen.objects.Constants.Action; import org.onap.appc.seqgen.objects.PreCheckOption; import org.onap.appc.seqgen.objects.RequestInfo; import org.onap.appc.seqgen.objects.RequestInfoBuilder; @@ -128,10 +130,14 @@ public class SequenceGeneratorProvider implements AutoCloseable,SequenceGenerato .createSequenceGenerator(VNFOperation.findByString(input.getRequestInfo().getAction().name())); SequenceGeneratorInput seqGenInput = buildSeqGenInput(input); List<Transaction> transactions = seqGenerator.generateSequence(seqGenInput); - rpcResult = buildSuccessResponse(transactions); + if (transactions.isEmpty()) { + rpcResult = buildFailureResponse("Request is not supported", 450); + } else { + rpcResult = buildSuccessResponse(transactions); + } } catch (Exception e) { log.error("Error Generating Sequence",e); - rpcResult = buildFailureResponse(e.getMessage()); + rpcResult = buildFailureResponse(e.getMessage(), 0); } return Futures.immediateFuture(rpcResult); } @@ -195,6 +201,7 @@ public class SequenceGeneratorProvider implements AutoCloseable,SequenceGenerato return precheckOptions; } private List<Responses> getResponses(Transaction transaction) { + log.info("Building response from the Transaction"); List<Responses> responseList = new LinkedList<>(); for(Response resp : transaction.getResponses()){ Map<String,String> responseActions = resp.getResponseAction(); @@ -240,12 +247,13 @@ public class SequenceGeneratorProvider implements AutoCloseable,SequenceGenerato validateInventoryModelWithDependencyModel(dependencyModel, inventoryModel); } + CapabilityModel capModel = buildCapabilitiesForSeqGenInput(input); + SequenceGeneratorInputBuilder builder = new SequenceGeneratorInputBuilder() .requestInfo(requestInfo) .inventoryModel(inventoryModel) - .dependendcyModel(dependencyModel); - - builder = buildCapabilitiesForSeqGenInput(input, builder); + .dependendcyModel(dependencyModel) + .capabilityModel(capModel); builder = buildTunableParamsForSeqGenInput(input, builder); @@ -264,24 +272,39 @@ public class SequenceGeneratorProvider implements AutoCloseable,SequenceGenerato return builder; } - private SequenceGeneratorInputBuilder buildCapabilitiesForSeqGenInput(GenerateSequenceInput input, SequenceGeneratorInputBuilder builder) { + public CapabilityModel buildCapabilitiesForSeqGenInput(GenerateSequenceInput input) { log.info("Initializing capabilities based on YANG object."); - if(input.getCapabilities() != null){ - if(input.getCapabilities().getVnf() != null){ - builder = builder.capability("vnf", input.getCapabilities().getVnf()); + + List<String> vnfCapabilities = null; + List<String> vfModuleCapabilities = null; + Map<String, List<String>> vmCapabilities = null; + List<String> vnfcCapabilities = null; + + if(input.getCapabilities()!=null){ + if(input.getCapabilities().getVnf()!=null){ + vnfCapabilities = input.getCapabilities().getVnf(); } - if(input.getCapabilities().getVnfc() != null){ - builder = builder.capability("vnfc", input.getCapabilities().getVnfc()); + if(input.getCapabilities().getVnfc()!=null){ + vfModuleCapabilities = input.getCapabilities().getVnfc(); } - if(input.getCapabilities().getVm() != null){ - builder = builder.capability("vm", input.getCapabilities().getVm()); + if(input.getCapabilities().getVm()!=null){ + vmCapabilities = new HashMap<String, List<String>>(); + vmCapabilities.put(Action.ATTACH_VOLUME.getActionType(), input.getCapabilities().getVm().getAttachVolume()); + vmCapabilities.put(Action.DETACH_VOLUME.getActionType(), input.getCapabilities().getVm().getDetachVolume()); + vmCapabilities.put(Action.EVACUATE.getActionType(), input.getCapabilities().getVm().getEvacuate()); + vmCapabilities.put(Action.MIGRATE.getActionType(), input.getCapabilities().getVm().getMigrate()); + vmCapabilities.put(Action.REBOOT.getActionType(), input.getCapabilities().getVm().getReboot()); + vmCapabilities.put(Action.REBUILD.getActionType(), input.getCapabilities().getVm().getRebuild()); + vmCapabilities.put(Action.RESTART.getActionType(), input.getCapabilities().getVm().getRestart()); + vmCapabilities.put(Action.SNAPSHOT.getActionType(), input.getCapabilities().getVm().getSnapshot()); + vmCapabilities.put(Action.START.getActionType(), input.getCapabilities().getVm().getStart()); + vmCapabilities.put(Action.STOP.getActionType(), input.getCapabilities().getVm().getStop()); } - if(input.getCapabilities().getVfModule() != null){ - builder = builder.capability("vf-module", input.getCapabilities().getVfModule()); + if(input.getCapabilities().getVfModule()!=null){ + vnfcCapabilities = input.getCapabilities().getVfModule(); } } - - return builder; + return new CapabilityModel(vnfCapabilities, vfModuleCapabilities, vmCapabilities, vnfcCapabilities); } private void validateInventoryModelWithDependencyModel(VnfcDependencyModel dependencyModel, InventoryModel inventoryModel) throws APPCException { @@ -460,6 +483,7 @@ public class SequenceGeneratorProvider implements AutoCloseable,SequenceGenerato Vnfc vfc = new Vnfc(); vfc.setVnfcName(vm.getVnfc().getVnfcName()); vfc.setVnfcType(vm.getVnfc().getVnfcType()); + vfc.setVnfcFunctionCode(vm.getVnfc().getVnfcFunctionCode()); vserver.setVnfc(vfc); List<Vserver> vms = map.get(vfc); if(vms ==null) { @@ -481,10 +505,10 @@ public class SequenceGeneratorProvider implements AutoCloseable,SequenceGenerato return vnf; } - private RpcResult<GenerateSequenceOutput> buildFailureResponse(String errorMessage){ + private RpcResult<GenerateSequenceOutput> buildFailureResponse(String errorMessage, int errorCode){ GenerateSequenceOutputBuilder sequenceGeneratorOutputBuilder=new GenerateSequenceOutputBuilder(); StatusBuilder statusBuilder = new StatusBuilder(); - statusBuilder.setCode(401); + statusBuilder.setCode((errorCode != 0)? errorCode : 401); statusBuilder.setMessage(errorMessage); sequenceGeneratorOutputBuilder.setStatus(statusBuilder.build()); return RpcResultBuilder diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/java/org/onap/appc/seqgen/TestSequenceGeneratorPlugin.java b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/java/org/onap/appc/seqgen/TestSequenceGeneratorPlugin.java index addd81a4b..5fddce12b 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/java/org/onap/appc/seqgen/TestSequenceGeneratorPlugin.java +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/java/org/onap/appc/seqgen/TestSequenceGeneratorPlugin.java @@ -21,22 +21,21 @@ package org.onap.appc.seqgen; -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; +import java.io.IOException; +import java.net.URISyntaxException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.HashMap; +import java.util.Map; + import org.junit.Assert; -import org.junit.Before; import org.junit.Test; -import org.onap.appc.seqgen.dbservices.SequenceGeneratorDBServices; import org.onap.appc.seqgen.dgplugin.SequenceGeneratorPlugin; import org.onap.appc.seqgen.dgplugin.impl.SequenceGeneratorPluginImpl; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; -import static org.mockito.Mockito.mock; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.net.URISyntaxException; -import java.util.HashMap; -import java.util.Map; + +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; public class TestSequenceGeneratorPlugin { @@ -243,7 +242,7 @@ public class TestSequenceGeneratorPlugin { plugin.generateSequence(params,context); String outputJSON = context.getAttribute("output"); - String actualOutput = readInput("/output/restart-NoDep.json"); + String actualOutput = readOutput("/output/restart-NoDep.json"); outputJSON.trim(); Assert.assertEquals(outputJSON.trim(),actualOutput.trim()); } @@ -260,7 +259,7 @@ public class TestSequenceGeneratorPlugin { plugin.generateSequence(params,context); String outputJSON = context.getAttribute("output"); - String actualOutput = readInput("/output/restart-Nodep-SingleVM.json"); + String actualOutput = readOutput("/output/restart-Nodep-SingleVM.json"); Assert.assertEquals(outputJSON.trim(),actualOutput.trim()); } @@ -350,26 +349,162 @@ public class TestSequenceGeneratorPlugin { Assert.assertEquals(errorMessage,"Error generating sequence Dependency model missing vnfc type SMP"); } - private String readInput(String inputFile) throws URISyntaxException, IOException { - File file = new File(this.getClass().getResource(inputFile).toURI()); + @Test + public void testGenerateSequenceStartWithVmStartCaps()throws URISyntaxException, IOException { + String inputJSON = readInput("/input/StartWithVmStartCaps.json"); - byte[] bFile = new byte[(int) file.length()]; - FileInputStream fileInputStream = new FileInputStream(file); - fileInputStream.read(bFile); - fileInputStream.close(); - return new String(bFile); + Map<String,String> params = new HashMap<>(); + SvcLogicContext context = new SvcLogicContext(); + context.setAttribute("inputJSON",inputJSON); + + SequenceGeneratorPlugin plugin = new SequenceGeneratorPluginImpl(); + plugin.generateSequence(params,context); + + String actualOutput = context.getAttribute("output"); + String outputJSON = readOutput("/output/StartWithVmStartCaps.json"); + Assert.assertEquals(outputJSON.trim(), actualOutput.trim()); } - private String readOutput(String outputFile) throws IOException,URISyntaxException { - File file = new File(this.getClass().getResource(outputFile).toURI()); + + @Test + public void testGenerateSequenceRestartWithVmRestartCaps()throws URISyntaxException, IOException { + String inputJSON = readInput("/input/RestartWithVmRestartCaps.json"); + + Map<String,String> params = new HashMap<>(); + SvcLogicContext context = new SvcLogicContext(); + context.setAttribute("inputJSON",inputJSON); + + SequenceGeneratorPlugin plugin = new SequenceGeneratorPluginImpl(); + plugin.generateSequence(params,context); - byte[] bFile = new byte[(int) file.length()]; - FileInputStream fileInputStream = new FileInputStream(file); - fileInputStream.read(bFile); - fileInputStream.close(); - String output=new String(bFile); + String outputJSON = context.getAttribute("output"); + String actualOutput = readOutput("/output/RestartWithVmRestartCaps.json"); + Assert.assertEquals(outputJSON.trim(),actualOutput.trim()); + } + + @Test + public void testGenerateSequenceStopWithVmStopCaps()throws URISyntaxException, IOException { + String inputJSON = readInput("/input/StopWithVmStopCaps.json"); + + Map<String,String> params = new HashMap<>(); + SvcLogicContext context = new SvcLogicContext(); + context.setAttribute("inputJSON",inputJSON); + + SequenceGeneratorPlugin plugin = new SequenceGeneratorPluginImpl(); + plugin.generateSequence(params,context); + + String actualOutput = context.getAttribute("output"); + String outputJSON = readOutput("/output/StopWithVmStopCaps.json"); + Assert.assertEquals(outputJSON.trim(),actualOutput.trim()); + } + + @Test + public void testGenerateSequenceStartWithoutAnyCaps()throws URISyntaxException, IOException { + String inputJSON = readInput("/input/StartWithoutAnyCaps.json"); + + Map<String,String> params = new HashMap<>(); + SvcLogicContext context = new SvcLogicContext(); + context.setAttribute("inputJSON",inputJSON); + + SequenceGeneratorPlugin plugin = new SequenceGeneratorPluginImpl(); + plugin.generateSequence(params,context); + + String actualOutput = context.getAttribute("output"); + String outputJSON = readOutput("/output/StartWithoutAnyCaps.json"); + Assert.assertEquals(outputJSON.trim(), actualOutput.trim()); + } + + @Test + public void testGenerateSequenceRestartWithoutAnyCaps()throws URISyntaxException, IOException { + String inputJSON = readInput("/input/RestartWithoutAnyCaps.json"); + + Map<String,String> params = new HashMap<>(); + SvcLogicContext context = new SvcLogicContext(); + context.setAttribute("inputJSON",inputJSON); + + SequenceGeneratorPlugin plugin = new SequenceGeneratorPluginImpl(); + plugin.generateSequence(params,context); + + String outputJSON = context.getAttribute("output"); + String actualOutput = readOutput("/output/RestartWithoutAnyCaps.json"); + Assert.assertEquals(outputJSON.trim(),actualOutput.trim()); + } + + @Test + public void testGenerateSequenceStopWithoutAnyCaps()throws URISyntaxException, IOException { + String inputJSON = readInput("/input/StopWithoutAnyCaps.json"); + + Map<String,String> params = new HashMap<>(); + SvcLogicContext context = new SvcLogicContext(); + context.setAttribute("inputJSON",inputJSON); + + SequenceGeneratorPlugin plugin = new SequenceGeneratorPluginImpl(); + plugin.generateSequence(params,context); + + String outputJSON = context.getAttribute("output"); + String actualOutput = readOutput("/output/StopWithoutAnyCaps.json"); + Assert.assertEquals(outputJSON.trim(),actualOutput.trim()); + } + @Test + public void testGenerateSequenceStartWithoutVmStartCaps()throws URISyntaxException, IOException { + String inputJSON = readInput("/input/StartWithoutVmStartCaps.json"); + + Map<String,String> params = new HashMap<>(); + SvcLogicContext context = new SvcLogicContext(); + context.setAttribute("inputJSON",inputJSON); + + SequenceGeneratorPlugin plugin = new SequenceGeneratorPluginImpl(); + plugin.generateSequence(params,context); + + String errorCode = context.getAttribute("error-code"); + String errorMessage = context.getAttribute("error-message"); + logger.debug("errorCode = " + errorCode); + Assert.assertEquals("450", errorCode); + Assert.assertEquals("Request is not supported", errorMessage); + } + + @Test + public void testGenerateSequenceRestartWithoutVmRestartCaps()throws URISyntaxException, IOException { + String inputJSON = readInput("/input/RestartWithoutVmRestartCaps.json"); + + Map<String,String> params = new HashMap<>(); + SvcLogicContext context = new SvcLogicContext(); + context.setAttribute("inputJSON",inputJSON); + + SequenceGeneratorPlugin plugin = new SequenceGeneratorPluginImpl(); + plugin.generateSequence(params,context); + + String errorCode = context.getAttribute("error-code"); + String errorMessage = context.getAttribute("error-message"); + logger.debug("errorCode = " + errorCode); + Assert.assertEquals("450", errorCode); + Assert.assertEquals("Request is not supported", errorMessage); + } + + @Test + public void testGenerateSequenceStopWithoutVmStopCaps()throws URISyntaxException, IOException { + String inputJSON = readInput("/input/StopWithoutVmStopCaps.json"); + + Map<String,String> params = new HashMap<>(); + SvcLogicContext context = new SvcLogicContext(); + context.setAttribute("inputJSON",inputJSON); + + SequenceGeneratorPlugin plugin = new SequenceGeneratorPluginImpl(); + plugin.generateSequence(params,context); + + String errorCode = context.getAttribute("error-code"); + String errorMessage = context.getAttribute("error-message"); + logger.debug("errorCode = " + errorCode); + Assert.assertEquals("450", errorCode); + Assert.assertEquals("Request is not supported", errorMessage); + } + + private String readInput(String inputFile) throws URISyntaxException, IOException { + return new String(Files.readAllBytes(Paths.get(this.getClass().getResource(inputFile).toURI())), "UTF-8"); + } + + private String readOutput(String outputFile) throws IOException,URISyntaxException { + String output = new String(Files.readAllBytes(Paths.get(this.getClass().getResource(outputFile).toURI())), "UTF-8"); int start=output.indexOf("["); return output.substring(start,output.length()); - } } - diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/java/org/onap/appc/seqgen/objects/SequenceGeneratorInputBuilderTest.java b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/java/org/onap/appc/seqgen/objects/SequenceGeneratorInputBuilderTest.java index 0809930ca..8719125d8 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/java/org/onap/appc/seqgen/objects/SequenceGeneratorInputBuilderTest.java +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/java/org/onap/appc/seqgen/objects/SequenceGeneratorInputBuilderTest.java @@ -54,9 +54,8 @@ public class SequenceGeneratorInputBuilderTest { @Test public void testCapability() { - String level= "testLevel"; - List<String> capabilities= new ArrayList<>(); - assertTrue(sequenceGeneratorInputBuilder.capability(level, capabilities) instanceof SequenceGeneratorInputBuilder); + CapabilityModel capabilities= new CapabilityModel(); + assertTrue(sequenceGeneratorInputBuilder.capabilityModel(capabilities) instanceof SequenceGeneratorInputBuilder); } diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/CheckMandatoryVnfc.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/CheckMandatoryVnfc.json index 0a4f5fce5..4d5bb0b6d 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/CheckMandatoryVnfc.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/CheckMandatoryVnfc.json @@ -1,130 +1,138 @@ { -"request-info": { - "action": "Start", - "action-level": "vnf", - "action-identifier": { - "vnf-id": "dbgx0001v" - }, - "payload": "ABC" + "request-info": { + "action": "Start", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" }, - "inventory-info": { - "vnf-info": { - "vnf-id": "abc", - "vnf-name": "vSCP", - "vnf-type": "vSCP", - "vnf-version": "1.0", - "identity-url": "test-url", - "vm": [ - { - "vserver-id": "be_vserverid1", - "vm-id": "vm-id", - "vnfc": { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - }, - { - "vserver-id": "fe_vserverid1", - "vm-id": "vm-id", - "vnfc": { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } - }, - { - "vserver-id": "fe_vserverid2", - "vm-id": "vm-id", - "vnfc": { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } - }, - { - "vserver-id": "be_vserverid2", - "vm-id": "vm-id", - "vnfc": { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - }, - { - "vserver-id": "be_vserverid3", - "vm-id": "vm-id", - "vnfc": { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - }, - { - "vserver-id": "be_vserverid4", - "vm-id": "vm-id", - "vnfc": { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - }, - { - "vserver-id": "be_vserverid5", - "vm-id": "vm-id", - "vnfc": { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - } - ] + "payload": "ABC" + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test-url", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm-id", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm-id", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm-id", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm-id", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm-id", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm-id", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm-id", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + } - }, - "dependency-info": { - "vnfcs": [ - { - "vnfc-type": "BE", - "mandatory": "true", - "resilience": "Active-Active", - "parents": [ - "SMP" - ] - }, - { - "vnfc-type": "FE", - "mandatory": "true", - "resilience": "Active-Active", - "parents": [ - "BE" - ] - }, - { - "vnfc-type": "SMP", - "mandatory": "true", - "resilience": "Active-Passive", - "parents": [] - } + ] + } + }, + "dependency-info": { + "vnfcs" : [ + { + "vnfc-type" : "BE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "SMP" ] - }, - "tunable-parameters": { - "strategy": "FORWARD", - "wait-time": "120", - "retry-count": "5" - }, - "capabilities": { - "vnf": [ - "Stop", - "Start", - "StartApplication", - "StopApplication" - ], - "vf-module": [ - "Stop", - "Start" - ], - "vm": [ - "Stop", - "Start" - ], - "vnfc": [ - "StopApplication", - "StartApplication", - "HealthCheck" + }, + { + "vnfc-type" : "FE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "BE" ] - } -} + }, + { + "vnfc-type" : "SMP", + "mandatory" : "true", + "resilience": "Active-Passive", + "parents" : [ + ] + } + + ] + }, + "tunable-parameters": { + "strategy" : "FORWARD", + "wait-time": "120", + "retry-count": "5" + }, + "capabilities" : { + "vnf": ["Stop", "Start", "StartApplication","StopApplication"], + "vf-module": ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc": ["StopApplication", "StartApplication","HealthCheck"] + } +} diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/CheckVNfcInInventory.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/CheckVNfcInInventory.json index 8a4d22622..45cfccf59 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/CheckVNfcInInventory.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/CheckVNfcInInventory.json @@ -1,136 +1,142 @@ { -"request-info": + "request-info": { - "action": "Start", - "action-level": "vnf", - "action-identifier": + "action": "Start", + "action-level": "vnf", + "action-identifier": { - "vnf-id": "dbgx0001v" - }, - "payload": "ABC" - }, - "inventory-info": + "vnf-id": "dbgx0001v" + }, + "payload": "ABC" + }, + "inventory-info": { - "vnf-info": + "vnf-info": { - "vnf-id" : "abc", - "vnf-name": "vSCP", - "vnf-type": "vSCP", - "vnf-version" : "1.0", - "identity-url" : "test_url", - "vm": [ - { - "vserver-id" : "be_vserverid1", - "vm-id" : "vm-id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "fe_vserverid1", - "vm-id" : "vm-id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } - }, - { - "vserver-id" : "fe_vserverid2", - "vm-id" : "vm-id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } - }, - { - "vserver-id" : "be_vserverid2", - "vm-id" : "vm-id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "be_vserverid3", - "vm-id" : "vm-id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "be_vserverid4", - "vm-id" : "vm-id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "be_vserverid5", - "vm-id" : "vm-id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - } - ] - } - }, - "dependency-info" : - { - "vnfcs" : [ - { - "vnfc-type" : "BE", - "mandatory" : "true", - "resilience": "Active-Active", - "parents" : [ - "SMP" - ] - }, - { - "vnfc-type" : "FE", - "mandatory" : "true", - "resilience": "Active-Active", - "parents" : [ - "BE" - ] - }, - { - "vnfc-type" : "SMP", - "mandatory" : "false", - "resilience": "Active-Passive", - "parents" : [] - } - ] - }, - "tunable-parameters" : + } + ] + } + }, + "dependency-info" : { - "strategy" : "FORWARD", - "wait-time" : "120", - "retry-count" : "5" - }, - "capabilities" : + "vnfcs" : [ + { + "vnfc-type" : "BE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "SMP" + ] + }, + { + "vnfc-type" : "FE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "BE" + ] + }, + { + "vnfc-type" : "SMP", + "mandatory" : "false", + "resilience": "Active-Passive", + "parents" : [] + } + ] + }, + "tunable-parameters" : { - "vnf": ["Stop", "Start", "StartApplication","StopApplication"], - "vf-module": ["Stop", "Start"], - "vm" : ["Stop", "Start"], - "vnfc": ["StopApplication", "StartApplication","HealthCheck"] - } -} - + "strategy" : "FORWARD", + "wait-time" : "120", + "retry-count" : "5" + }, + "capabilities" : + { + "vnf": ["Stop", "Start", "StartApplication","StopApplication"], + "vf-module": ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc": ["StopApplication", "StartApplication","HealthCheck"] + } +}
\ No newline at end of file diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/MissingDependencyInfo.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/MissingDependencyInfo.json index 372445f15..66c97c188 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/MissingDependencyInfo.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/MissingDependencyInfo.json @@ -1,5 +1,5 @@ { -"request-info": { + "request-info": { "action": "Start", "action-level": "vnf", "action-identifier": { @@ -21,6 +21,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -31,6 +32,7 @@ "vnfc": { "vnfc-type": "FE", + "vnfc-function-code": "pld", "vnfc-name": "FE - Name" } @@ -41,6 +43,7 @@ "vnfc": { "vnfc-type": "FE", + "vnfc-function-code": "pld", "vnfc-name": "FE - Name" } @@ -51,6 +54,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -61,6 +65,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -71,6 +76,7 @@ "vnfc": { "vnfc-type": "SMP", + "vnfc-function-code": "pld", "vnfc-name": "SMP - Name" } @@ -81,6 +87,7 @@ "vnfc": { "vnfc-type": "SMP", + "vnfc-function-code": "pld", "vnfc-name": "SMP - Name" } @@ -91,6 +98,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -101,6 +109,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -137,7 +146,7 @@ "capabilities" : { "vnf": ["Stop", "Start", "StartApplication","StopApplication"], "vf-module": ["Stop", "Start"], - "vm" : ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], "vnfc": ["StopApplication", "StartApplication","HealthCheck"] } } diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/NoDep-SingleVM.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/NoDep-SingleVM.json index 826603849..d780316f5 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/NoDep-SingleVM.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/NoDep-SingleVM.json @@ -17,7 +17,13 @@ "vm": [ { "vserver-id" : "be_vserverid1", - "vm-id" : "vm_id1" + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } } ] } @@ -29,8 +35,7 @@ }, "capabilities" : { - "vm" : ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], "vnfc": ["StopApplication", "StartApplication","HealthCheck"] } } - diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/RestartWithVmRestartCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/RestartWithVmRestartCaps.json new file mode 100644 index 000000000..759d63f81 --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/RestartWithVmRestartCaps.json @@ -0,0 +1,78 @@ +{ + "request-info": { + "action": "Restart", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": " {\"vnf-host-ip-address\": \"10.147.124.163\" }" + + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + } + ] + } + }, + "dependency-info" : { + }, + "tunable-parameters" : { + "strategy" : "FORWARD", + "waitTime" : "120", + "retryCount" : "5" + }, + "capabilities" : { + "vnf": ["Stop", "Start", "StartApplication","StopApplication"], + "vf-module": ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc": ["StopApplication", "StartApplication","HealthCheck"] + } +} diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/RestartWithoutAnyCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/RestartWithoutAnyCaps.json new file mode 100644 index 000000000..23b1a55ac --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/RestartWithoutAnyCaps.json @@ -0,0 +1,72 @@ +{ + "request-info": { + "action": "Restart", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": " {\"vnf-host-ip-address\": \"10.147.124.163\" }" + + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + } + ] + } + }, + "dependency-info" : { + }, + "tunable-parameters" : { + "strategy" : "FORWARD", + "waitTime" : "120", + "retryCount" : "5" + } +} diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/RestartWithoutVmRestartCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/RestartWithoutVmRestartCaps.json new file mode 100644 index 000000000..b29482378 --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/RestartWithoutVmRestartCaps.json @@ -0,0 +1,102 @@ +{ + "request-info": { + "action": "Restart", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": " {\"vnf-host-ip-address\": \"10.147.124.163\" }" + + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + } + ] + } + }, + "dependency-info" : { + "vnfcs" : [ + { + "vnfc-type" : "BE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "SMP" + ] + }, + { + "vnfc-type" : "FE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "BE" + ] + }, + { + "vnfc-type" : "SMP", + "mandatory" : "true", + "resilience": "Active-Passive", + "parents" : [] + } + ] + }, + "tunable-parameters" : { + "strategy" : "FORWARD", + "waitTime" : "120", + "retryCount" : "5" + }, + "capabilities" : { + "vnf": ["Stop", "Start", "StartApplication","StopApplication"], + "vf-module": ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :[]}], + "vnfc": ["StopApplication", "StartApplication","HealthCheck"] + } +} diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StartWithVmStartCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StartWithVmStartCaps.json new file mode 100644 index 000000000..7299af382 --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StartWithVmStartCaps.json @@ -0,0 +1,134 @@ + + +{ + "request-info": { + "action": "Start", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": "ABC" + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "smp_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + + }, + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + } + ] + } + }, + "dependency-info": { + + }, + "tunable-parameters": { + + }, + "capabilities" : { + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc" : ["A", "B","C"], + "vf-module" : ["StopApplication", "StartApplication","HealthCheck"], + "vnf" : ["Stop", "Start","HealthCheck"] + } +} + diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StartWithoutAnyCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StartWithoutAnyCaps.json new file mode 100644 index 000000000..e4236a45b --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StartWithoutAnyCaps.json @@ -0,0 +1,126 @@ +{ + "request-info": { + "action": "Start", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": "ABC" + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "smp_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + + }, + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + } + ] + } + }, + "dependency-info": { + + }, + "tunable-parameters": { + + } +} + diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StartWithoutVmStartCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StartWithoutVmStartCaps.json new file mode 100644 index 000000000..f9136a729 --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StartWithoutVmStartCaps.json @@ -0,0 +1,134 @@ + + +{ + "request-info": { + "action": "Start", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": "ABC" + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "smp_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + + }, + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + } + ] + } + }, + "dependency-info": { + + }, + "tunable-parameters": { + + }, + "capabilities" : { + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :[]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc" : ["A", "B","C"], + "vf-module" : ["StopApplication", "StartApplication","HealthCheck"], + "vnf" : ["Stop", "Start","HealthCheck"] + } +} + diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StopWithVmStopCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StopWithVmStopCaps.json new file mode 100644 index 000000000..24502876e --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StopWithVmStopCaps.json @@ -0,0 +1,136 @@ + + +{ + "request-info": { + "action": "Stop", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": " {\"vnf-host-ip-address\": \"10.147.124.163\" }" + + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm-id2", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm-id3", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm-id4", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "smp_vserverid1", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + + }, + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + } + ] + } + }, + "dependency-info": { + }, + "tunable-parameters": { + "strategy" : "FORWARD", + "wait-time": "120", + "retry-count": "5" + }, + "capabilities" : { + "vnf": ["Stop", "Start", "StartApplication","StopApplication"], + "vf-module": ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc": ["StopApplication", "StartApplication","HealthCheck"] + } +} + diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StopWithoutAnyCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StopWithoutAnyCaps.json new file mode 100644 index 000000000..10750615c --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StopWithoutAnyCaps.json @@ -0,0 +1,128 @@ +{ + "request-info": { + "action": "Stop", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": " {\"vnf-host-ip-address\": \"10.147.124.163\" }" + + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm-id2", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm-id3", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm-id4", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "smp_vserverid1", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + + }, + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + } + ] + } + }, + "dependency-info": { + }, + "tunable-parameters": { + "strategy" : "FORWARD", + "wait-time": "120", + "retry-count": "5" + } +} + diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StopWithoutVmStopCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StopWithoutVmStopCaps.json new file mode 100644 index 000000000..ca77762f4 --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/StopWithoutVmStopCaps.json @@ -0,0 +1,134 @@ +{ + "request-info": { + "action": "Stop", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": " {\"vnf-host-ip-address\": \"10.147.124.163\" }" + + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm-id2", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm-id3", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm-id4", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "smp_vserverid1", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + + }, + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + } + ] + } + }, + "dependency-info": { + }, + "tunable-parameters": { + "strategy" : "FORWARD", + "wait-time": "120", + "retry-count": "5" + }, + "capabilities" : { + "vnf": ["Stop", "Start", "StartApplication","StopApplication"], + "vf-module": ["Stop", "Start"], + "vm" : [{"Stop" :[]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc": ["StopApplication", "StartApplication","HealthCheck"] + } +} + diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/WrongDependencyModel.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/WrongDependencyModel.json index 07a389f9d..b4e10943c 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/WrongDependencyModel.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/WrongDependencyModel.json @@ -21,6 +21,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -31,6 +32,7 @@ "vnfc": { "vnfc-type": "FE", + "vnfc-function-code": "pld", "vnfc-name": "FE - Name" } @@ -41,6 +43,7 @@ "vnfc": { "vnfc-type": "FE", + "vnfc-function-code": "pld", "vnfc-name": "FE - Name" } @@ -51,6 +54,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -61,6 +65,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -72,6 +77,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -82,6 +88,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -118,8 +125,7 @@ "capabilities" : { "vnf": ["Stop", "Start", "StartApplication","StopApplication"], "vf-module": ["Stop", "Start"], - "vm" : ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], "vnfc": ["StopApplication", "StartApplication","HealthCheck"] } } - diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/cyclic.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/cyclic.json index 9053c16ba..fcb3672f7 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/cyclic.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/cyclic.json @@ -1,147 +1,158 @@ + + { -"request-info": { - "action": "Start", - "action-level": "vnf", - "action-identifier": { - "vnf-id": "dbgx0001v" - }, - "payload": "ABC" - }, - "inventory-info": { - "vnf-info": { - "vnf-id" : "abc", - "vnf-name": "vSCP", - "vnf-type": "vSCP", - "vnf-version" : "1.0", - "identity-url" : "test_url", - "vm": [ - { - "vserver-id" : "be_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - - }, - { - "vserver-id" : "fe_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } - - }, - { - "vserver-id" : "fe_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } - - }, - { - "vserver-id" : "be_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - - }, - { - "vserver-id" : "be_vserverid3", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - - }, - { - "vserver-id" : "smp_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } - - }, - { - "vserver-id" : "smp_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } - }, - { - "vserver-id" : "be_vserverid4", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + "request-info": { + "action": "Start", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": "ABC" + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "smp_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + + }, + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "be_vserverid5", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - } - ] - } - }, - "dependency-info" : { - "vnfcs" : [ - { - "vnfc-type" : "BE", - "mandatory" : "true", - "resilience": "Active-Active", - "parents" : [ - "SMP" - ] - }, - { - "vnfc-type" : "FE", - "mandatory" : "true", - "resilience": "Active-Active", - "parents" : [ - "BE" - ] - }, - { - "vnfc-type" : "SMP", - "mandatory" : "true", - "resilience": "Active-Passive", - "parents" : ["FE"] - } - ] - }, - "tunable-parameters" : { - "strategy" : "FORWARD", - "wait-time" : "120", - "retry-count" : "5" - }, - "capabilities" : { - "vnf": ["Stop", "Start", "StartApplication","StopApplication"], - "vf-module": ["Stop", "Start"], - "vm" : ["Stop", "Start"], - "vnfc": ["StopApplication", "StartApplication","HealthCheck"] - } + } + ] + } + }, + "dependency-info" : { + "vnfcs" : [ + { + "vnfc-type" : "BE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "SMP" + ] + }, + { + "vnfc-type" : "FE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "BE" + ] + }, + { + "vnfc-type" : "SMP", + "mandatory" : "true", + "resilience": "Active-Passive", + "parents" : ["FE"] + } + ] + }, + "tunable-parameters" : { + "strategy" : "FORWARD", + "wait-time" : "120", + "retry-count" : "5" + }, + "capabilities" : { + "vnf": ["Stop", "Start", "StartApplication","StopApplication"], + "vf-module": ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc": ["StopApplication", "StartApplication","HealthCheck"] + } } diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/missingrequestinfo.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/missingrequestinfo.json index 5f8efc49d..cc0137818 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/missingrequestinfo.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/missingrequestinfo.json @@ -1,141 +1,150 @@ + { -"inventory-info": { - "vnf-info": { - "vnf-id" : "abc", - "vnf-name": "vSCP", - "vnf-type": "vSCP", - "vnf-version" : "1.0", - "identity-url" : "test_url", - "vm": [ - { - "vserver-id" : "be_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - - }, - { - "vserver-id" : "fe_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } - - }, - { - "vserver-id" : "fe_vserverid2", - "vm-id" : "vm_id2", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } - - }, - { - "vserver-id" : "be_vserverid2", - "vm-id" : "vm_id2", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - - }, - { - "vserver-id" : "be_vserverid3", - "vm-id" : "vm_id3", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - - }, - { - "vserver-id" : "smp_vserverid1", - "vm-id" : "vm_id3", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } - - }, - { - "vserver-id" : "smp_vserverid2", - "vm-id" : "vm_id2", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } - }, - { - "vserver-id" : "be_vserverid4", - "vm-id" : "vm_id4", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm_id2", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm_id2", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm_id3", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "smp_vserverid1", + "vm-id" : "vm_id3", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + + }, + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm_id2", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm_id4", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "be_vserverid5", - "vm-id" : "vm_id5", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm_id5", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - } - ] - } - }, - "dependency-info": { - "vnfcs" : [ - { - "vnfc-type" : "BE", - "mandatory" : "true", - "resilience": "Active-Active", - "parents" : [ - "SMP" - ] - }, - { - "vnfc-type" : "FE", - "mandatory" : "true", - "resilience": "Active-Active", - "parents" : [ - "BE" - ] - }, - { - "vnfc-type" : "SMP", - "mandatory" : "true", - "resilience": "Active-Passive", - "parents" : [] - } - ] - }, - "tunable-parameters": { - "strategy" : "FORWARD", - "wait-time": "120", - "retry-count": "5" - }, - "capabilities" : { - "vnf": ["Stop", "Start", "StartApplication","StopApplication"], - "vf-module": ["Stop", "Start"], - "vm" : ["Stop", "Start"], - "vnfc": ["StopApplication", "StartApplication","HealthCheck"] - } + } + ] + } + }, + "dependency-info": { + "vnfcs" : [ + { + "vnfc-type" : "BE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "SMP" + ] + }, + { + "vnfc-type" : "FE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "BE" + ] + }, + { + "vnfc-type" : "SMP", + "mandatory" : "true", + "resilience": "Active-Passive", + "parents" : [] + } + ] + }, + "tunable-parameters": { + "strategy" : "FORWARD", + "wait-time": "120", + "retry-count": "5" + }, + "capabilities" : { + "vnf": ["Stop", "Start", "StartApplication","StopApplication"], + "vf-module": ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc": ["StopApplication", "StartApplication","HealthCheck"] + } } - diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/no-strategy.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/no-strategy.json index 4a1975b2f..e74c6ac56 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/no-strategy.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/no-strategy.json @@ -1,147 +1,158 @@ + + { - "request-info": { - "action": "Start", - "action-level": "vnf", - "action-identifier": { - "vnf-id": "dbgx0001v" - }, - "payload": "ABC" - }, - "inventory-info": { - "vnf-info": { - "vnf-id" : "abc", - "vnf-name": "vSCP", - "vnf-type": "vSCP", - "vnf-version" : "1.0", - "identity-url" : "test_url", - "vm": [ - { - "vserver-id" : "be_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + "request-info": { + "action": "Start", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": "ABC" + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "fe_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } - }, - { - "vserver-id" : "fe_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } - }, - { - "vserver-id" : "be_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "be_vserverid3", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "smp_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } + }, + { + "vserver-id" : "smp_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } - }, - { - "vserver-id" : "smp_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } - }, - { - "vserver-id" : "be_vserverid4", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "be_vserverid5", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - } - ] - } - }, - "dependency-info": { - "vnfcs" : [ - { - "vnfc-type" : "BE", - "mandatory" : "true", - "resilience": "Active-Active", - "parents" : [ - "SMP" - ] - }, - { - "vnfc-type" : "FE", - "mandatory" : "true", - "resilience": "Active-Active", - "parents" : [ - "BE" - ] - }, - { - "vnfc-type" : "SMP", - "mandatory" : "true", - "resilience": "Active-Passive", - "parents" : [] - } - ] - }, - "tunable-parameters": { - "strategy" : "", - "wait-time": "120", - "retry-count": "5" - }, - "capabilities" : { - "vnf": ["Stop", "Start", "StartApplication","StopApplication"], - "vf-module": ["Stop", "Start"], - "vm" : ["Stop", "Start"], - "vnfc": ["StopApplication", "StartApplication","HealthCheck"] - } + } + ] + } + }, + "dependency-info": { + "vnfcs" : [ + { + "vnfc-type" : "BE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "SMP" + ] + }, + { + "vnfc-type" : "FE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "BE" + ] + }, + { + "vnfc-type" : "SMP", + "mandatory" : "true", + "resilience": "Active-Passive", + "parents" : [] + } + ] + }, + "tunable-parameters": { + "strategy" : "", + "wait-time": "120", + "retry-count": "5" + }, + "capabilities" : { + "vnf": ["Stop", "Start", "StartApplication","StopApplication"], + "vf-module": ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc": ["StopApplication", "StartApplication","HealthCheck"] + } } diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/restartNodep.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/restartNodep.json index bd8167202..fb96abeac 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/restartNodep.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/restartNodep.json @@ -22,6 +22,7 @@ "vnfc": { "vnfc-type": "SMP", + "vnfc-function-code": "pld", "vnfc-name": "SMP - Name" } }, @@ -31,6 +32,7 @@ "vnfc": { "vnfc-type": "FE", + "vnfc-function-code": "pld", "vnfc-name": "FE - Name" } @@ -41,6 +43,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -51,6 +54,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -92,7 +96,7 @@ "capabilities" : { "vnf": ["Stop", "Start", "StartApplication","StopApplication"], "vf-module": ["Stop", "Start"], - "vm" : ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], "vnfc": ["StopApplication", "StartApplication","HealthCheck"] } } diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start-singleVM-.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start-singleVM-.json index 65916bb6d..e8ed7020e 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start-singleVM-.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start-singleVM-.json @@ -1,43 +1,43 @@ { - "request-info": { - "action": "Start", - "action-level": "vm", - "action-identifier": { - "vserver-id": "dbgx0001v" - }, - "payload": "ABC" - }, - "inventory-info": { - "vnf-info": { - "vnf-id" : "abc", - "vnf-name": "vSCP", - "vnf-type": "vSCP", - "vnf-version" : "1.0", - "identity-url" : "test_url", - "vm": [ - { - "vserver-id" : "be_vserverid1", - "vm-id" : "vm-id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - } - ] - } - }, - "dependency-info": { + "request-info": { + "action": "Start", + "action-level": "vm", + "action-identifier": { + "vserver-id": "dbgx0001v" + }, + "payload": "ABC" + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm-id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + } + ] + } + }, + "dependency-info": { - }, - "tunable-parameters": { + }, + "tunable-parameters": { - }, - "capabilities" : { - "vm" : ["Stop", "Start"], - "vnfc": ["StopApplication", "StartApplication","HealthCheck"] - } + }, + "capabilities" : { + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc": ["StopApplication", "StartApplication","HealthCheck"] + } } - diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start-singleVmPerVnfc-.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start-singleVmPerVnfc-.json index b9a93cdd8..b5d06ecec 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start-singleVmPerVnfc-.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start-singleVmPerVnfc-.json @@ -1,53 +1,54 @@ { - "request-info": { - "action": "Start", - "action-level": "vm", - "action-identifier": { - "vserver-id": "dbgx0001v" - }, - "payload": "ABC" - }, - "inventory-info": { - "vnf-info": { - "vnf-id" : "abc", - "vnf-name": "vSCP", - "vnf-type": "vSCP", - "vnf-version" : "1.0", - "identity-url" : "test_url", - "vm": [ - { - "vserver-id" : "be_vserverid1", - "vm-id" : "vm-id", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - }, - { - "vserver-id" : "smp_vserverid1", - "vm-id" : "vm-id", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } + "request-info": { + "action": "Start", + "action-level": "vm", + "action-identifier": { + "vserver-id": "dbgx0001v" + }, + "payload": "ABC" + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm_id", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + }, + { + "vserver-id" : "smp_vserverid1", + "vm-id" : "vm_id", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } - } - ] - } - }, - "dependency-info": { + } + ] + } + }, + "dependency-info": { - }, - "tunable-parameters": { + }, + "tunable-parameters": { - }, - "capabilities" : { - "vm" : ["Stop", "Start"], - "vnfc": ["StopApplication", "StartApplication","HealthCheck"] - } + }, + "capabilities" : { + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc": ["StopApplication", "StartApplication","HealthCheck"] + } } - diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start-withoutDependency.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start-withoutDependency.json index ea9e7aa6c..e181eb0e9 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start-withoutDependency.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start-withoutDependency.json @@ -1,124 +1,134 @@ { - "request-info": { - "action": "Start", - "action-level": "vm", - "action-identifier": { - "vnf-id": "dbgx0001v" - }, - "payload": "ABC" - }, - "inventory-info": { - "vnf-info": { - "vnf-id" : "abc", - "vnf-name": "vSCP", - "vnf-type": "vSCP", - "vnf-version" : "1.0", - "identity-url" : "test_url", - "vm": [ - { - "vserver-id" : "be_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + "request-info": { + "action": "Start", + "action-level": "vm", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": "ABC" + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "fe_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } - }, - { - "vserver-id" : "fe_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } - }, - { - "vserver-id" : "be_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "be_vserverid3", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "smp_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } + }, + { + "vserver-id" : "smp_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } - }, - { - "vserver-id" : "smp_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } - }, - { - "vserver-id" : "be_vserverid4", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "be_vserverid5", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - } - ] - } - }, - "dependency-info": { + } + ] + } + }, + "dependency-info": { - }, - "tunable-parameters": { + }, + "tunable-parameters": { - }, - "capabilities" : { - "vm" : ["Stop", "Start"], - "vnfc": ["StopApplication", "StartApplication","HealthCheck"] - } + }, + "capabilities" : { + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc" : ["A", "B","C"], + "vf-module" : ["StopApplication", "StartApplication","HealthCheck"], + "vnf" : ["Stop", "Start","HealthCheck"] + } } - diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start.json index e806cd460..43a79ea8d 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/start.json @@ -1,149 +1,159 @@ + { - "request-info": { - "action": "Start", - "action-level": "vnf", - "action-identifier": { - "vnf-id": "dbgx0001v" - }, - "payload": "ABC" + "request-info": { + "action": "Start", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": "ABC" - }, - "inventory-info": { - "vnf-info": { - "vnf-id" : "abc", - "vnf-name": "vSCP", - "vnf-type": "vSCP", - "vnf-version" : "1.0", - "identity-url" : "test_url", - "vm": [ - { - "vserver-id" : "be_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "fe_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } - }, - { - "vserver-id" : "fe_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } - }, - { - "vserver-id" : "be_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "be_vserverid3", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "smp_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } + }, + { + "vserver-id" : "smp_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } - }, - { - "vserver-id" : "smp_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } - }, - { - "vserver-id" : "be_vserverid4", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "be_vserverid5", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - } - ] - } - }, - "dependency-info": { - "vnfcs" : [ - { - "vnfc-type" : "BE", - "mandatory" : "true", - "resilience": "Active-Active", - "parents" : [ - "SMP" - ] - }, - { - "vnfc-type" : "FE", - "mandatory" : "true", - "resilience": "Active-Active", - "parents" : [ - "BE" - ] - }, - { - "vnfc-type" : "SMP", - "mandatory" : "true", - "resilience": "Active-Passive", - "parents" : [] - } - ] - }, - "tunable-parameters": { - "strategy" : "FORWARD", - "wait-time": "120", - "retry-count": "5" - }, - "capabilities" : { - "vnf": ["Stop", "Start", "StartApplication","StopApplication"], - "vf-module": ["Stop", "Start"], - "vm" : ["Stop", "Start"], - "vnfc": ["StopApplication", "StartApplication","HealthCheck"] - } -} + } + ] + } + }, + "dependency-info": { + "vnfcs" : [ + { + "vnfc-type" : "BE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "SMP" + ] + }, + { + "vnfc-type" : "FE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "BE" + ] + }, + { + "vnfc-type" : "SMP", + "mandatory" : "true", + "resilience": "Active-Passive", + "parents" : [] + } + ] + }, + "tunable-parameters": { + "strategy" : "FORWARD", + "wait-time": "120", + "retry-count": "5" + }, + "capabilities" : { + "vnf": ["Stop", "Start", "StartApplication","StopApplication"], + "vf-module": ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc": ["StopApplication", "StartApplication","HealthCheck"] + } +}
\ No newline at end of file diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop-WithoutDep.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop-WithoutDep.json index 3251106e3..b30fdd80e 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop-WithoutDep.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop-WithoutDep.json @@ -144,9 +144,8 @@ "capabilities" : { "vnf": ["Stop", "Start", "StartApplication","StopApplication"], "vf-module": ["Stop", "Start"], - "vm" : ["Stop", "Start"], + "vm" : [{"Stop" :["vnfc1", "vnfc2", "SMP"]}, {"Start" :["vnfc3", "vnfc4"]}, {"Restart" :["vnfc5", "vnfc6"]}], "vnfc": ["StopApplication", "StartApplication","HealthCheck"] } } - diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop-singleVM.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop-singleVM.json index 6cdd3de20..7b8225d10 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop-singleVM.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop-singleVM.json @@ -1,3 +1,5 @@ + + { "request-info": { "action": "Stop", @@ -21,6 +23,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } } @@ -34,7 +37,8 @@ }, "capabilities" : { - "vm" : ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], "vnfc": ["StopApplication", "StartApplication","HealthCheck"] } } + diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop-singleVmPerVnfc.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop-singleVmPerVnfc.json index a49b70403..f036be2c9 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop-singleVmPerVnfc.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop-singleVmPerVnfc.json @@ -1,3 +1,5 @@ + + { "request-info": { "action": "Stop", @@ -21,6 +23,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } }, @@ -30,6 +33,7 @@ "vnfc": { "vnfc-type": "SMP", + "vnfc-function-code": "pld", "vnfc-name": "SMP - Name" } @@ -43,7 +47,7 @@ }, "capabilities" : { - "vm" : ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], "vnfc": ["StopApplication", "StartApplication","HealthCheck"] } } diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop.json index e52269ec0..46e1e65de 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/stop.json @@ -24,6 +24,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -34,6 +35,7 @@ "vnfc": { "vnfc-type": "FE", + "vnfc-function-code": "pld", "vnfc-name": "FE - Name" } @@ -44,6 +46,7 @@ "vnfc": { "vnfc-type": "FE", + "vnfc-function-code": "pld", "vnfc-name": "FE - Name" } @@ -54,6 +57,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -64,6 +68,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -74,6 +79,7 @@ "vnfc": { "vnfc-type": "SMP", + "vnfc-function-code": "pld", "vnfc-name": "SMP - Name" } @@ -84,6 +90,7 @@ "vnfc": { "vnfc-type": "SMP", + "vnfc-function-code": "pld", "vnfc-name": "SMP - Name" } }, @@ -93,6 +100,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -103,6 +111,7 @@ "vnfc": { "vnfc-type": "BE", + "vnfc-function-code": "pld", "vnfc-name": "BE - Name" } @@ -144,9 +153,8 @@ "capabilities" : { "vnf": ["Stop", "Start", "StartApplication","StopApplication"], "vf-module": ["Stop", "Start"], - "vm" : ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], "vnfc": ["StopApplication", "StartApplication","HealthCheck"] } } - diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/wrongaction.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/wrongaction.json index 276d550e5..6b0140f1e 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/wrongaction.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/wrongaction.json @@ -1,151 +1,159 @@ { - "request-info": { - "action": "start", - "action-level": "vnf", - "action-identifier": { - "vnf-id": "dbgx0001v" - }, - "payload": "ABC" - }, - "inventory-info": { - "vnf-info": { - "vnf-id" : "abc", - "vnf-name": "vSCP", - "vnf-type": "vSCP", - "vnf-version" : "1.0", - "identity-url" : "test_url", - "vm": [ - { - "vserver-id" : "be_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - - }, - { - "vserver-id" : "fe_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } - - }, - { - "vserver-id" : "fe_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } - - }, - { - "vserver-id" : "be_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - - }, - { - "vserver-id" : "be_vserverid3", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - - }, - { - "vserver-id" : "smp_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } - - }, - { - "vserver-id" : "smp_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } - }, - { - "vserver-id" : "be_vserverid4", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + "request-info": { + "action": "start", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": "ABC" + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "smp_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + + }, + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "be_vserverid5", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - } - ] - } - }, - "dependency-info": { - "vnfcs" : [ - { - "vnfc-type" : "BE", - "mandatory" : "true", - "resilience": "Active-Active", - "parents" : [ - "SMP" - ] - }, - { - "vnfc-type" : "FE", - "mandatory" : "true", - "resilience": "Active-Active", - "parents" : [ - "BE" - ] - }, - { - "vnfc-type" : "SMP", - "mandatory" : "true", - "resilience": "Active-Passive", - "parents" : [] - } - ] - }, - "tunable-parameters": { - "strategy" : "FORWARD", - "wait-time": "120", - "retry-count": "5" - }, - "capabilities" : { - "vnf": ["Stop", "Start", "StartApplication","StopApplication"], - "vf-module": ["Stop", "Start"], - "vm" : ["Stop", "Start"], - "vnfc": ["StopApplication", "StartApplication","HealthCheck"] - } + } + ] + } + }, + "dependency-info": { + "vnfcs" : [ + { + "vnfc-type" : "BE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "SMP" + ] + }, + { + "vnfc-type" : "FE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "BE" + ] + }, + { + "vnfc-type" : "SMP", + "mandatory" : "true", + "resilience": "Active-Passive", + "parents" : [] + } + ] + }, + "tunable-parameters": { + "strategy" : "FORWARD", + "wait-time": "120", + "retry-count": "5" + }, + "capabilities" : { + "vnf": ["Stop", "Start", "StartApplication","StopApplication"], + "vf-module": ["Stop", "Start"], + "vm" : ["Stop", "Start"], + "vnfc": ["StopApplication", "StartApplication","HealthCheck"] + } } - diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/wrongnumber.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/wrongnumber.json index 6c2db0898..bdd92d839 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/wrongnumber.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/input/wrongnumber.json @@ -1,151 +1,159 @@ { - "request-info": { - "action": "Start", - "action-level": "vnf", - "action-identifier": { - "vnf-id": "dbgx0001v" - }, - "payload": "ABC" - }, - "inventory-info": { - "vnf-info": { - "vnf-id" : "abc", - "vnf-name": "vSCP", - "vnf-type": "vSCP", - "vnf-version" : "1.0", - "identity-url" : "test_url", - "vm": [ - { - "vserver-id" : "be_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - - }, - { - "vserver-id" : "fe_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } - - }, - { - "vserver-id" : "fe_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "FE", - "vnfc-name": "FE - Name" - } - - }, - { - "vserver-id" : "be_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - - }, - { - "vserver-id" : "be_vserverid3", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } - - }, - { - "vserver-id" : "smp_vserverid1", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } - - }, - { - "vserver-id" : "smp_vserverid2", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "SMP", - "vnfc-name": "SMP - Name" - } - }, - { - "vserver-id" : "be_vserverid4", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + "request-info": { + "action": "Start", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": "ABC" + }, + "inventory-info": { + "vnf-info": { + "vnf-id" : "abc", + "vnf-name": "vSCP", + "vnf-type": "vSCP", + "vnf-version" : "1.0", + "identity-url" : "test_url", + "vm": [ + { + "vserver-id" : "be_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "fe_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "FE", + "vnfc-function-code": "pld", + "vnfc-name": "FE - Name" + } + + }, + { + "vserver-id" : "be_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "be_vserverid3", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } + + }, + { + "vserver-id" : "smp_vserverid1", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + + }, + { + "vserver-id" : "smp_vserverid2", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "SMP", + "vnfc-function-code": "pld", + "vnfc-name": "SMP - Name" + } + }, + { + "vserver-id" : "be_vserverid4", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - }, - { - "vserver-id" : "be_vserverid5", - "vm-id" : "vm_id1", - "vnfc": - { - "vnfc-type": "BE", - "vnfc-name": "BE - Name" - } + }, + { + "vserver-id" : "be_vserverid5", + "vm-id" : "vm_id1", + "vnfc": + { + "vnfc-type": "BE", + "vnfc-function-code": "pld", + "vnfc-name": "BE - Name" + } - } - ] - } - }, - "dependency-info": { - "vnfcs" : [ - { - "vnfc-type" : "BE", - "mandatory" : "true", - "resilience": "Active-Active", - "parents" : [ - "SMP" - ] - }, - { - "vnfc-type" : "FE", - "mandatory" : "true", - "resilience": "Active-Active", - "parents" : [ - "BE" - ] - }, - { - "vnfc-type" : "SMP", - "mandatory" : "true", - "resilience": "Active-Passive", - "parents" : [] - } - ] - }, - "tunable-parameters": { - "strategy" : "FORWARD", - "wait-time": "6a", - "retry-count": "5" - }, - "capabilities" : { - "vnf": ["Stop", "Start", "StartApplication","StopApplication"], - "vf-module": ["Stop", "Start"], - "vm" : ["Stop", "Start"], - "vnfc": ["StopApplication", "StartApplication","HealthCheck"] - } + } + ] + } + }, + "dependency-info": { + "vnfcs" : [ + { + "vnfc-type" : "BE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "SMP" + ] + }, + { + "vnfc-type" : "FE", + "mandatory" : "true", + "resilience": "Active-Active", + "parents" : [ + "BE" + ] + }, + { + "vnfc-type" : "SMP", + "mandatory" : "true", + "resilience": "Active-Passive", + "parents" : [] + } + ] + }, + "tunable-parameters": { + "strategy" : "FORWARD", + "wait-time": "6a", + "retry-count": "5" + }, + "capabilities" : { + "vnf": ["Stop", "Start", "StartApplication","StopApplication"], + "vf-module": ["Stop", "Start"], + "vm" : [{"Stop" :["pld", "ssc", "dbo"]}, {"Start" :["pld", "ssc", "dbo"]}, {"Restart" :["pld", "ssc", "dbo"]}], + "vnfc": ["StopApplication", "StartApplication","HealthCheck"] + } } - diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/CheckVnfcInInventory.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/CheckVnfcInInventory.json index 8a23ec759..30a768783 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/CheckVnfcInInventory.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/CheckVnfcInInventory.json @@ -1 +1 @@ -[{"transactionId":1,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":3,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid3"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":4,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid4"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":5,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":6,"action":"StartApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"BE - Name"},"payload":"ABC","precheck-operator":"any","precheck-options":[{"pre-transactionID":1,"param-name":"status","param-value":"success"},{"pre-transactionID":2,"param-name":"status","param-value":"success"},{"pre-transactionID":3,"param-name":"status","param-value":"success"},{"pre-transactionID":4,"param-name":"status","param-value":"success"},{"pre-transactionID":5,"param-name":"status","param-value":"success"}],"responses":[]},{"transactionId":7,"action":"HealthCheck","action-level":"vnfc","action-identifier":{"vnfc-name":"BE - Name"},"payload":"ABC","responses":[{"response-message":"unhealthy","response-action":{"wait":"120","retry":"5"}},{"response-message":"healthy","response-action":{"continue":"true"}},{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":8,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid1"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":9,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":10,"action":"StartApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"FE - Name"},"payload":"ABC","precheck-operator":"any","precheck-options":[{"pre-transactionID":8,"param-name":"status","param-value":"success"},{"pre-transactionID":9,"param-name":"status","param-value":"success"}],"responses":[]},{"transactionId":11,"action":"HealthCheck","action-level":"vnfc","action-identifier":{"vnfc-name":"FE - Name"},"payload":"ABC","responses":[{"response-message":"unhealthy","response-action":{"wait":"120","retry":"5"}},{"response-message":"healthy","response-action":{"continue":"true"}},{"response-message":"failure","response-action":{"stop":"true"}}]}]
\ No newline at end of file +[{"transactionId":1,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":3,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid3"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":4,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid4"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":5,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":6,"action":"StartApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"BE - Name"},"payload":"ABC","precheck-operator":"any","precheck-options":[{"pre-transactionID":1,"param-name":"status","param-value":"success"},{"pre-transactionID":2,"param-name":"status","param-value":"success"},{"pre-transactionID":3,"param-name":"status","param-value":"success"},{"pre-transactionID":4,"param-name":"status","param-value":"success"},{"pre-transactionID":5,"param-name":"status","param-value":"success"}],"responses":[]},{"transactionId":7,"action":"HealthCheck","action-level":"vnfc","action-identifier":{"vnfc-name":"BE - Name"},"payload":"ABC","responses":[{"response-message":"unhealthy","response-action":{"wait":"120","retry":"5"}},{"response-message":"healthy","response-action":{"continue":"true"}},{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":8,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid1"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":9,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":10,"action":"StartApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"FE - Name"},"payload":"ABC","precheck-operator":"any","precheck-options":[{"pre-transactionID":8,"param-name":"status","param-value":"success"},{"pre-transactionID":9,"param-name":"status","param-value":"success"}],"responses":[]},{"transactionId":11,"action":"HealthCheck","action-level":"vnfc","action-identifier":{"vnfc-name":"FE - Name"},"payload":"ABC","responses":[{"response-message":"unhealthy","response-action":{"wait":"120","retry":"5"}},{"response-message":"healthy","response-action":{"continue":"true"}},{"response-message":"failure","response-action":{"stop":"true"}}]}]
\ No newline at end of file diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/Output-stop.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/Output-stop.json index 17aea0d12..f00626790 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/Output-stop.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/Output-stop.json @@ -1,3 +1,3 @@ -[{"transactionId":1,"action":"StopApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"SMP - Name"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":2,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid1"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":3,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":4,"action":"StopApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"BE - Name"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":5,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":6,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":7,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid3"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":8,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid4"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":9,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":10,"action":"StopApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"FE - Name"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":11,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid1"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":12,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]}] +[{"transactionId":1,"action":"StopApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"SMP - Name"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":2,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid1"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":3,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":4,"action":"StopApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"BE - Name"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":5,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":6,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":7,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid3"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":8,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid4"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":9,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":10,"action":"StopApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"FE - Name"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":11,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid1"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":12,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":" {\"vnf-host-ip-address\": \"10.147.124.163\" }","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]}] diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/RestartWithVmRestartCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/RestartWithVmRestartCaps.json new file mode 100644 index 000000000..9acc7d868 --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/RestartWithVmRestartCaps.json @@ -0,0 +1 @@ +[{"transactionId":1,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"3"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"3"}}]},{"transactionId":3,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"5"}}]},{"transactionId":4,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"5"}}]},{"transactionId":5,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"7"}}]},{"transactionId":6,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"7"}}]},{"transactionId":7,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"9"}}]},{"transactionId":8,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"9"}}]}]
\ No newline at end of file diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/RestartWithoutAnyCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/RestartWithoutAnyCaps.json new file mode 100644 index 000000000..9acc7d868 --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/RestartWithoutAnyCaps.json @@ -0,0 +1 @@ +[{"transactionId":1,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"3"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"3"}}]},{"transactionId":3,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"5"}}]},{"transactionId":4,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"5"}}]},{"transactionId":5,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"7"}}]},{"transactionId":6,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"7"}}]},{"transactionId":7,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"9"}}]},{"transactionId":8,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"9"}}]}]
\ No newline at end of file diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/Start2.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/Start2.json index e67f22f56..b70238903 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/Start2.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/Start2.json @@ -1,2 +1,2 @@ -[{"transactionId":1,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid1"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":3,"action":"StartApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"SMP - Name"},"payload":"ABC","precheck-operator":"any","precheck-options":[{"pre-transactionID":1,"param-name":"status","param-value":"success"},{"pre-transactionID":2,"param-name":"status","param-value":"success"}],"responses":[]},{"transactionId":4,"action":"HealthCheck","action-level":"vnfc","action-identifier":{"vnfc-name":"SMP - Name"},"payload":"ABC","responses":[{"response-message":"unhealthy","response-action":{"wait":"120","retry":"5"}},{"response-message":"healthy","response-action":{"continue":"true"}},{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":5,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":6,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":7,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid3"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":8,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid4"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":9,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":10,"action":"StartApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"BE - Name"},"payload":"ABC","precheck-operator":"any","precheck-options":[{"pre-transactionID":5,"param-name":"status","param-value":"success"},{"pre-transactionID":6,"param-name":"status","param-value":"success"},{"pre-transactionID":7,"param-name":"status","param-value":"success"},{"pre-transactionID":8,"param-name":"status","param-value":"success"},{"pre-transactionID":9,"param-name":"status","param-value":"success"}],"responses":[]},{"transactionId":11,"action":"HealthCheck","action-level":"vnfc","action-identifier":{"vnfc-name":"BE - Name"},"payload":"ABC","responses":[{"response-message":"unhealthy","response-action":{"wait":"120","retry":"5"}},{"response-message":"healthy","response-action":{"continue":"true"}},{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":12,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid1"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":13,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":14,"action":"StartApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"FE - Name"},"payload":"ABC","precheck-operator":"any","precheck-options":[{"pre-transactionID":12,"param-name":"status","param-value":"success"},{"pre-transactionID":13,"param-name":"status","param-value":"success"}],"responses":[]},{"transactionId":15,"action":"HealthCheck","action-level":"vnfc","action-identifier":{"vnfc-name":"FE - Name"},"payload":"ABC","responses":[{"response-message":"unhealthy","response-action":{"wait":"120","retry":"5"}},{"response-message":"healthy","response-action":{"continue":"true"}},{"response-message":"failure","response-action":{"stop":"true"}}]}] +[{"transactionId":1,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid1"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":3,"action":"StartApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"SMP - Name"},"payload":"ABC","precheck-operator":"any","precheck-options":[{"pre-transactionID":1,"param-name":"status","param-value":"success"},{"pre-transactionID":2,"param-name":"status","param-value":"success"}],"responses":[]},{"transactionId":4,"action":"HealthCheck","action-level":"vnfc","action-identifier":{"vnfc-name":"SMP - Name"},"payload":"ABC","responses":[{"response-message":"unhealthy","response-action":{"wait":"120","retry":"5"}},{"response-message":"healthy","response-action":{"continue":"true"}},{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":5,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":6,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":7,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid3"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":8,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid4"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":9,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":10,"action":"StartApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"BE - Name"},"payload":"ABC","precheck-operator":"any","precheck-options":[{"pre-transactionID":5,"param-name":"status","param-value":"success"},{"pre-transactionID":6,"param-name":"status","param-value":"success"},{"pre-transactionID":7,"param-name":"status","param-value":"success"},{"pre-transactionID":8,"param-name":"status","param-value":"success"},{"pre-transactionID":9,"param-name":"status","param-value":"success"}],"responses":[]},{"transactionId":11,"action":"HealthCheck","action-level":"vnfc","action-identifier":{"vnfc-name":"BE - Name"},"payload":"ABC","responses":[{"response-message":"unhealthy","response-action":{"wait":"120","retry":"5"}},{"response-message":"healthy","response-action":{"continue":"true"}},{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":12,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid1"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":13,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":14,"action":"StartApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"FE - Name"},"payload":"ABC","precheck-operator":"any","precheck-options":[{"pre-transactionID":12,"param-name":"status","param-value":"success"},{"pre-transactionID":13,"param-name":"status","param-value":"success"}],"responses":[]},{"transactionId":15,"action":"HealthCheck","action-level":"vnfc","action-identifier":{"vnfc-name":"FE - Name"},"payload":"ABC","responses":[{"response-message":"unhealthy","response-action":{"wait":"120","retry":"5"}},{"response-message":"healthy","response-action":{"continue":"true"}},{"response-message":"failure","response-action":{"stop":"true"}}]}] diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/StartWithVmStartCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/StartWithVmStartCaps.json new file mode 100644 index 000000000..179ebc98e --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/StartWithVmStartCaps.json @@ -0,0 +1 @@ +[{"transactionId":1,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":3,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":4,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":5,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid3"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":6,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":7,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":8,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid4"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":9,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]}]
\ No newline at end of file diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/StartWithoutAnyCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/StartWithoutAnyCaps.json new file mode 100644 index 000000000..179ebc98e --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/StartWithoutAnyCaps.json @@ -0,0 +1 @@ +[{"transactionId":1,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":3,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":4,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":5,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid3"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":6,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":7,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":8,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid4"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":9,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]}]
\ No newline at end of file diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/StopWithVmStopCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/StopWithVmStopCaps.json new file mode 100644 index 000000000..dc3972280 --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/StopWithVmStopCaps.json @@ -0,0 +1 @@ +[{"transactionId":1,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":2,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid1"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id2\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":3,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id3\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":4,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id4\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":5,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid3"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":6,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid1"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":7,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":8,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid4"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":9,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]}]
\ No newline at end of file diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/StopWithoutAnyCaps.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/StopWithoutAnyCaps.json new file mode 100644 index 000000000..dc3972280 --- /dev/null +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/StopWithoutAnyCaps.json @@ -0,0 +1 @@ +[{"transactionId":1,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":2,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid1"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id2\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":3,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id3\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":4,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id4\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":5,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid3"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":6,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid1"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":7,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":8,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid4"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":9,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"{\"identity-url\":\"test\",\"vm-id\":\"vm-id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]}]
\ No newline at end of file diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/restart-NoDep.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/restart-NoDep.json index 34c464d63..9acc7d868 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/restart-NoDep.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/restart-NoDep.json @@ -1 +1 @@ -[{"transactionId":1,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"jump":"3"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"jump":"3"}}]},{"transactionId":3,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"jump":"5"}}]},{"transactionId":4,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"jump":"5"}}]},{"transactionId":5,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"jump":"7"}}]},{"transactionId":6,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"jump":"7"}}]},{"transactionId":7,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[]},{"transactionId":8,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[]}] +[{"transactionId":1,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"3"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"3"}}]},{"transactionId":3,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"5"}}]},{"transactionId":4,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"5"}}]},{"transactionId":5,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"7"}}]},{"transactionId":6,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"7"}}]},{"transactionId":7,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"9"}}]},{"transactionId":8,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"9"}}]}]
\ No newline at end of file diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/restart-Nodep-SingleVM.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/restart-Nodep-SingleVM.json index 043ab63b0..6319b5809 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/restart-Nodep-SingleVM.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/restart-Nodep-SingleVM.json @@ -1,2 +1 @@ [{"transactionId":1,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[]}] - diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/start-singleVmPerVnfc.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/start-singleVmPerVnfc.json index 6ee628050..55812f92b 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/start-singleVmPerVnfc.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/start-singleVmPerVnfc.json @@ -1 +1 @@ -[{"transactionId":1,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm-id\"}","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm-id\"}","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]}] +[{"transactionId":1,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]}] diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/start-withoutDependency.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/start-withoutDependency.json index 16d03d245..a4cba82d7 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/start-withoutDependency.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/start-withoutDependency.json @@ -1 +1 @@ -[{"transactionId":1,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":3,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":4,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":5,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid3"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":6,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":7,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":8,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid4"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":9,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]}] +[{"transactionId":1,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":3,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"fe_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":4,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":5,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid3"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":6,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":7,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":8,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid4"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":9,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid5"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]}] diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/start.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/start.json index 15e7faa7e..641fa9491 100644 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/start.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/start.json @@ -1,3 +1,2 @@ - [{"transactionId":1,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"vnfc1_vserverid1"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":2,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"vnfc1_vserverid2"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":3,"action":"StartApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"VNFC1 - Name"},"payload":"ABC","precheck-operator":"any","precheck-options":[{"pre-transactionID":1,"param-name":"status","param-value":"success"},{"pre-transactionID":2,"param-name":"status","param-value":"success"}],"responses":[]},{"transactionId":4,"action":"HealthCheck","action-level":"vnfc","action-identifier":{"vnfc-name":"VNFC1 - Name"},"payload":"ABC","responses":[{"response-message":"unhealthy","response-action":{"wait":"120","retry":"5"}},{"response-message":"healthy","response-action":{"continue":"true"}},{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":5,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"vnfc2_vserverid1"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":6,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"vnfc2_vserverid2"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":7,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"vnfc2_vserverid3"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":8,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"vnfc2_vserverid4"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":9,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"vnfc2_vserverid5"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":10,"action":"StartApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"VNFC2 - Name"},"payload":"ABC","precheck-operator":"any","precheck-options":[{"pre-transactionID":5,"param-name":"status","param-value":"success"},{"pre-transactionID":6,"param-name":"status","param-value":"success"},{"pre-transactionID":7,"param-name":"status","param-value":"success"},{"pre-transactionID":8,"param-name":"status","param-value":"success"},{"pre-transactionID":9,"param-name":"status","param-value":"success"}],"responses":[]},{"transactionId":11,"action":"HealthCheck","action-level":"vnfc","action-identifier":{"vnfc-name":"VNFC2 - Name"},"payload":"ABC","responses":[{"response-message":"unhealthy","response-action":{"wait":"120","retry":"5"}},{"response-message":"healthy","response-action":{"continue":"true"}},{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":12,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"vnfc3_vserverid1"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":13,"action":"Start","action-level":"vm","action-identifier":{"vserver-id":"vnfc3_vserverid2"},"payload":"ABC","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":14,"action":"StartApplication","action-level":"vnfc","action-identifier":{"vnfc-name":"VNFC3 - Name"},"payload":"ABC","precheck-operator":"any","precheck-options":[{"pre-transactionID":12,"param-name":"status","param-value":"success"},{"pre-transactionID":13,"param-name":"status","param-value":"success"}],"responses":[]},{"transactionId":15,"action":"HealthCheck","action-level":"vnfc","action-identifier":{"vnfc-name":"VNFC3 - Name"},"payload":"ABC","responses":[{"response-message":"unhealthy","response-action":{"wait":"120","retry":"5"}},{"response-message":"healthy","response-action":{"continue":"true"}},{"response-message":"failure","response-action":{"stop":"true"}}]}] diff --git a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/stop-singleVmPerVnfc.json b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/stop-singleVmPerVnfc.json index 94905af90..ad6ef1cd4 100755 --- a/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/stop-singleVmPerVnfc.json +++ b/appc-sequence-generator/appc-sequence-generator-bundle/src/test/resources/output/stop-singleVmPerVnfc.json @@ -1 +1 @@ -[{"transactionId":1,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]},{"transactionId":2,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"ignore":"true"}}]}] +[{"transactionId":1,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"be_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]},{"transactionId":2,"action":"Stop","action-level":"vm","action-identifier":{"vserver-id":"smp_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]}]
\ No newline at end of file diff --git a/appc-sequence-generator/appc-sequence-generator-model/src/main/yang/sequence-generator.yang b/appc-sequence-generator/appc-sequence-generator-model/src/main/yang/sequence-generator.yang index f9bd92150..259d2c98f 100644 --- a/appc-sequence-generator/appc-sequence-generator-model/src/main/yang/sequence-generator.yang +++ b/appc-sequence-generator/appc-sequence-generator-model/src/main/yang/sequence-generator.yang @@ -105,6 +105,9 @@ module sequence-generator { leaf vnfc-name { type string; } + leaf vnfc-function-code { + type string; + } } } } @@ -155,8 +158,37 @@ module sequence-generator { leaf-list vf-module { type string; } - leaf-list vm { - type string; + container vm { + leaf-list AttachVolume { + type string; + } + leaf-list DetachVolume { + type string; + } + leaf-list Evacuate { + type string; + } + leaf-list Migrate { + type string; + } + leaf-list Reboot { + type string; + } + leaf-list Rebuild { + type string; + } + leaf-list Restart { + type string; + } + leaf-list Snapshot { + type string; + } + leaf-list Start { + type string; + } + leaf-list Stop { + type string; + } } leaf-list vnfc { type string; |