SequenceGeneratorInput sequenceGeneratorInput = buildSequenceGeneratorInput(inputJSON);
List<Transaction> sequence = generateSequence(sequenceGeneratorInput);
if (sequence.isEmpty()) {
- logger.error("Error generating sequence");
+ logger.error("Transaction list is empty");
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);
+ logger.info("Sequence Generator Output " + output);
context.setAttribute("output", output);
}
} catch (Exception e) {
Vserver vserver = new Vserver();
vserver.setId(vserverId);
vserver.setUrl(vmId);
- if (vm.get("vnfc")!=null&& vm.get("vnfc").get("vnfc-name") != null && vm.get("vnfc").get("vnfc-type")!= null) {
- 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());
+ Vnfc vfc = new Vnfc();
+ if (vm.get("vnfc") != null ) {
+ if (vm.get("vnfc").get("vnfc-name") != null)
+ vfc.setVnfcName(vm.get("vnfc").get("vnfc-name").asText());
+ if (vm.get("vnfc").get("vnfc-type") != null)
+ vfc.setVnfcType(vm.get("vnfc").get("vnfc-type").asText());
+ if (vm.get("vnfc").get("vnfc-function-code") != null)
+ vfc.setVnfcFunctionCode(vm.get("vnfc").get("vnfc-function-code").asText());
vserver.setVnfc(vfc);
List<Vserver> vServers = vfcs.get(vfc);
if (vServers == null) {
return new InventoryModel(vnf);
}
+
private CapabilityModel buildCapabilitiesModel(String inputJson) throws IOException, APPCException {
logger.info("Entering buildCapabilitiesModel");
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.Constants.ResponseAction;
import org.onap.appc.seqgen.objects.Response;
import org.onap.appc.seqgen.objects.SequenceGeneratorInput;
import org.onap.appc.seqgen.objects.Transaction;
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)) {
+ if (!vmSupportsRestart(input, vm)) {
continue;
}
Transaction transactionStop = new Transaction();
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.STOP.getAction(), String.valueOf(transactionId+1));
+ //if(!checkLastVM(vservers,vm.getId())) {
+ //failureAction.put(Constants.ResponseAction.STOP.getAction(), String.valueOf(transactionId+1));
+ failureAction.put(ResponseAction.STOP.getAction(), Boolean.TRUE.toString());
failureResponse.setResponseAction(failureAction);
transactionStop.addResponse(failureResponse);
//}
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());
- failureAction.put(Constants.ResponseAction.STOP.getAction(),transactionId.toString());
+ //if(!checkLastVM(vservers,vm.getId())) {
+ //failureAction.put(Constants.ResponseAction.JUMP.getAction(),transactionId.toString());
+ failureAction.put(ResponseAction.STOP.getAction(), Boolean.TRUE.toString());
failureResponse.setResponseAction(failureAction);
transactionStart.addResponse(failureResponse);
//}
return transactionList;
}
- private boolean vmSupportsRestart(SequenceGeneratorInput input, String vnfcFunctionCode) {
+ private boolean vmSupportsRestart(SequenceGeneratorInput input, Vserver vm) {
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;
+ List<String> vmCapsForThisAction = vmCapabilities.get(Action.RESTART.getActionType());
+ if (vmCapsForThisAction != null) {
+ vmSupported = false;
+ if (!vmCapsForThisAction.isEmpty()) {
+ if (vm.getVnfc() != null) {
+ String vnfcFunctionCode = vm.getVnfc().getVnfcFunctionCode();
+ if (vnfcFunctionCode != null && !vnfcFunctionCode.isEmpty()) {
+ for (String s : vmCapabilities.get(Action.RESTART.getActionType()) ) {
+ if (s.equalsIgnoreCase(vnfcFunctionCode)) {
+ vmSupported = true;
+ logger.info("vmSupportsRestart: vnfcFunctionCode=" + vnfcFunctionCode + " found in vmCapabilities");
+ break;
+ }
+ }
+ } else {
+ logger.info("vmSupportsRestart: " + "Inventory vnfcFunctionCode is null or empty");
}
- }
+ } else {
+ logger.info("vmSupportsRestart: " + "Inventory vnfc is null or empty");
+ }
} else {
- logger.info("vmSupportsRestart: " + "Inventory vnfcFunctionCode is null or empty");
+ logger.info("vmSupportsRestart: " + "Given action in vm entry in Capabilities model is empty");
}
} else {
logger.info("vmSupportsRestart: " + "Given action in vm entry in Capabilities model is null");
logger.info("vmSupportsRestart: " + "Vm entry in Capabilities model is null");
}
- logger.info("vmSupportsRestart: " + "returning vmSupported=" + vmSupported);
+ logger.info("vmSupportsRestart: " + "returning vmSupported=" + vmSupported + ", " + ((vmSupported)?"including":"excluding") + " vm=" + vm.getId());
return vmSupported;
}
+
private boolean checkLastVM(List<Vserver> vservers, String vmId){
Vserver vm= vservers.get(vservers.size()-1);
return vm.getId().equals(vmId);
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)) {
+ if (!vmSupportsStart(input, vm)) {
continue;
}
Transaction transaction = new Transaction();
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)) {
+ if (!vmSupportsStart(input, vm)) {
continue;
}
Transaction transaction = new Transaction();
}
}
- private boolean vmSupportsStart(SequenceGeneratorInput input, String vnfcFunctionCode) {
+ private boolean vmSupportsStart(SequenceGeneratorInput input, Vserver vm) {
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;
+ List<String> vmCapsForThisAction = vmCapabilities.get(Action.START.getActionType());
+ if (vmCapsForThisAction != null) {
+ vmSupported = false;
+ if (!vmCapsForThisAction.isEmpty()) {
+ if (vm.getVnfc() != null) {
+ String vnfcFunctionCode = vm.getVnfc().getVnfcFunctionCode();
+ if (vnfcFunctionCode != null && !vnfcFunctionCode.isEmpty()) {
+ for (String s : vmCapabilities.get(Action.START.getActionType()) ) {
+ if (s.equalsIgnoreCase(vnfcFunctionCode)) {
+ vmSupported = true;
+ logger.info("vmSupportsStart: vnfcFunctionCode=" + vnfcFunctionCode + " found in vmCapabilities");
+ break;
+ }
+ }
+ } else {
+ logger.info("vmSupportsStart: " + "Inventory vnfcFunctionCode is null or empty");
}
- }
+ } else {
+ logger.info("vmSupportsStart: " + "Inventory vnfc is null or empty");
+ }
} else {
- logger.info("vmSupportsStart: " + "Inventory vnfcFunctionCode is null or empty");
+ logger.info("vmSupportsStart: " + "Given action in vm entry in Capabilities model is empty");
}
} else {
logger.info("vmSupportsStart: " + "Given action in vm entry in Capabilities model is null");
logger.info("vmSupportsStart: " + "Vm entry in Capabilities model is null");
}
- logger.info("vmSupportsStart: " + "returning vmSupported=" + vmSupported);
+ logger.info("vmSupportsStart: " + "returning vmSupported=" + vmSupported + ", " + ((vmSupported)?"including":"excluding") + " vm=" + vm.getId());
return vmSupported;
}
}
\ No newline at end of file
}
}
- private List<Transaction> generateSequenceWithOutDependency(SequenceGeneratorInput input)throws Exception{
+ private List<Transaction> generateSequenceWithOutDependency(SequenceGeneratorInput input) throws Exception{
String payload = null;
PayloadGenerator payloadGenerator = new PayloadGenerator();
List<Transaction> transactionList = new LinkedList<>();
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)) {
+ if (!vmSupportsStop(input, vm)) {
continue;
}
Transaction transaction = new Transaction();
return transactionList;
}
- private List<Transaction> generateSequenceWithDependencyModel(VnfcFlowModel flowModel,SequenceGeneratorInput input){
+ private List<Transaction> generateSequenceWithDependencyModel(VnfcFlowModel flowModel,
+ SequenceGeneratorInput input) throws Exception {
List<Transaction> transactionList = new LinkedList<>();
Integer transactionId = 1;
List<Integer> transactionIds = new LinkedList<>();
}
List<Vserver> vms = vnfc.getVserverList();
for(Vserver vm:vms){
- String vmVnfcFunctionCode = vm.getVnfc().getVnfcFunctionCode();
- if (!vmSupportsStop(input, vmVnfcFunctionCode)) {
+ if (!vmSupportsStop(input, vm)) {
continue;
}
Transaction transaction = new Transaction();
return transactionList;
}
- private VnfcFlowModel buildFlowModel(InventoryModel inventoryModel, VnfcDependencyModel dependencyModel, FlowStrategies flowStrategy) throws APPCException, InvalidDependencyModelException {
+ private VnfcFlowModel buildFlowModel(InventoryModel inventoryModel, VnfcDependencyModel dependencyModel,
+ FlowStrategies flowStrategy) throws APPCException, InvalidDependencyModelException {
FlowBuilder flowBuilder = FlowBuilderFactory.getInstance().getFlowBuilder(flowStrategy);
if (flowBuilder == null) {
throw new APPCException("Flow Strategy not supported " + flowStrategy);
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;
return true;
}
List<String> vnfcCapabilities = capability.getVnfcCapabilities();
- if(vnfcCapabilities!=null)
- return vnfcCapabilities.stream().anyMatch(p -> Capabilties.STOP_APPLICATION.getCapability().equalsIgnoreCase(p));
+ if(vnfcCapabilities != null)
+ return vnfcCapabilities.stream()
+ .anyMatch(p -> Capabilties.STOP_APPLICATION.getCapability().equalsIgnoreCase(p));
return false;
}
- private boolean vmSupportsStop(SequenceGeneratorInput input, String vnfcFunctionCode) {
+ private boolean vmSupportsStop(SequenceGeneratorInput input, Vserver vm) {
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;
+ List<String> vmCapsForThisAction = vmCapabilities.get(Action.STOP.getActionType());
+ if (vmCapsForThisAction != null) {
+ vmSupported = false;
+ if (!vmCapsForThisAction.isEmpty()) {
+ if (vm.getVnfc() != null) {
+ String vnfcFunctionCode = vm.getVnfc().getVnfcFunctionCode();
+ if (vnfcFunctionCode != null && !vnfcFunctionCode.isEmpty()) {
+ for (String s : vmCapabilities.get(Action.STOP.getActionType()) ) {
+ if (s.equalsIgnoreCase(vnfcFunctionCode)) {
+ vmSupported = true;
+ logger.info("vmSupportsStop: vnfcFunctionCode=" + vnfcFunctionCode + " found in vmCapabilities");
+ break;
+ }
+ }
+ } else {
+ logger.info("vmSupportsStop: " + "Inventory vnfcFunctionCode is null or empty");
}
- }
+ } else {
+ logger.info("vmSupportsStop: " + "Inventory vnfc is null or empty");
+ }
} else {
- logger.info("vmSupportsStop: " + "Inventory vnfcFunctionCode is null or empty");
+ logger.info("vmSupportsStop: " + "Given action in vm entry in Capabilities model is empty");
}
} else {
logger.info("vmSupportsStop: " + "Given action in vm entry in Capabilities model is null");
logger.info("vmSupportsStop: " + "Vm entry in Capabilities model is null");
}
- logger.info("vmSupportsStop: " + "returning vmSupported=" + vmSupported);
+ logger.info("vmSupportsStop: " + "returning vmSupported=" + vmSupported + ", " + ((vmSupported)?"including":"excluding") + " vm=" + vm.getId());
return vmSupported;
}
}
\ No newline at end of file
import java.util.Map;
import org.junit.Assert;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TestName;
import org.onap.appc.seqgen.dgplugin.SequenceGeneratorPlugin;
import org.onap.appc.seqgen.dgplugin.impl.SequenceGeneratorPluginImpl;
import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
import com.att.eelf.configuration.EELFManager;
public class TestSequenceGeneratorPlugin {
+ @Rule
+ public final TestName thisTestName = new TestName();
private static final EELFLogger logger = EELFManager.getInstance().getLogger(TestSequenceGeneratorPlugin.class);
private SequenceGeneratorPlugin seqImpl;
@Test
public void testGenerateSequenceStart() throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/start.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceWODependencyInfo()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/start-withoutDependency.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceSingleVM()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/start-singleVM-.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceNoStrategy() throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/no-strategy.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceStop() throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/stop.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceWrongNumber() throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/wrongnumber.json");
Map<String,String> params = new HashMap<>();
String errorCode = context.getAttribute("error-code");
String errorMessage = context.getAttribute("error-message");
- logger.debug("errorCode = " + errorCode);
+ logger.info("errorCode = " + errorCode);
Assert.assertEquals(errorCode,"401");
Assert.assertEquals(errorMessage,"Error generating sequence Invalid Number for Wait Time 6a");
}
@Test
public void testGenerateSequenceCyclic() throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/cyclic.json");
Map<String,String> params = new HashMap<>();
String errorCode = context.getAttribute("error-code");
String errorMessage = context.getAttribute("error-message");
- logger.debug("errorCode = " + errorCode);
+ logger.info("errorCode = " + errorCode);
Assert.assertEquals(errorCode,"401");
Assert.assertEquals(errorMessage,"Error generating sequence There seems to be no Root/Independent node for Vnfc dependencies");
}
@Test
public void testGenerateSequenceWrongAction() throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/wrongaction.json");
Map<String,String> params = new HashMap<>();
String errorCode = context.getAttribute("error-code");
String errorMessage = context.getAttribute("error-message");
- logger.debug("errorCode = " + errorCode);
+ logger.info("errorCode = " + errorCode);
Assert.assertEquals(errorCode,"401");
Assert.assertEquals(errorMessage,"Error generating sequence Invalid Action start");
}
@Test
public void testGenerateSequenceMissingRequestInfo() throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/missingrequestinfo.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceStopSingleVM() throws URISyntaxException, IOException{
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/stop-singleVM.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceStopSingleVmPerVnfc() throws URISyntaxException, IOException{
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/stop-singleVmPerVnfc.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceRestartNoDep() throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/restartNodep.json");
Map<String,String> params = new HashMap<>();
SequenceGeneratorPlugin plugin = new SequenceGeneratorPluginImpl();
plugin.generateSequence(params,context);
- String outputJSON = context.getAttribute("output");
- String actualOutput = readOutput("/output/restart-NoDep.json");
+ String actualOutput = context.getAttribute("output");
+ String outputJSON = readOutput("/output/restart-NoDep.json");
outputJSON.trim();
Assert.assertEquals(outputJSON.trim(),actualOutput.trim());
}
@Test
public void testGenerateSequenceRestartNoDepSingleVM() throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/NoDep-SingleVM.json");
Map<String,String> params = new HashMap<>();
SequenceGeneratorPlugin plugin = new SequenceGeneratorPluginImpl();
plugin.generateSequence(params,context);
- String outputJSON = context.getAttribute("output");
- String actualOutput = readOutput("/output/restart-Nodep-SingleVM.json");
+ String actualOutput = context.getAttribute("output");
+ String outputJSON = readOutput("/output/restart-Nodep-SingleVM.json");
Assert.assertEquals(outputJSON.trim(),actualOutput.trim());
}
@Test
public void testGenerateSequenceStartSingleVmPerVnfc() throws URISyntaxException, IOException{
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/start-singleVmPerVnfc-.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceVnfcNotPresentInInventory() throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/CheckVNfcInInventory.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceCheckMandatoryVnfc() throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/CheckMandatoryVnfc.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceCheckMissingDependencyInfo() throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/MissingDependencyInfo.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceExtraVnfcInDependency() throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/WrongDependencyModel.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceStartWithVmStartCaps()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/StartWithVmStartCaps.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceRestartWithVmRestartCaps()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/RestartWithVmRestartCaps.json");
Map<String,String> params = new HashMap<>();
SequenceGeneratorPlugin plugin = new SequenceGeneratorPluginImpl();
plugin.generateSequence(params,context);
- String outputJSON = context.getAttribute("output");
- String actualOutput = readOutput("/output/RestartWithVmRestartCaps.json");
+ String actualOutput = context.getAttribute("output");
+ String outputJSON = readOutput("/output/RestartWithVmRestartCaps.json");
Assert.assertEquals(outputJSON.trim(),actualOutput.trim());
}
@Test
public void testGenerateSequenceStopWithVmStopCaps()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/StopWithVmStopCaps.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceStartWithoutAnyCaps()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/StartWithoutAnyCaps.json");
Map<String,String> params = new HashMap<>();
@Test
public void testGenerateSequenceRestartWithoutAnyCaps()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/RestartWithoutAnyCaps.json");
Map<String,String> params = new HashMap<>();
SequenceGeneratorPlugin plugin = new SequenceGeneratorPluginImpl();
plugin.generateSequence(params,context);
- String outputJSON = context.getAttribute("output");
- String actualOutput = readOutput("/output/RestartWithoutAnyCaps.json");
+ String actualOutput = context.getAttribute("output");
+ String outputJSON = readOutput("/output/RestartWithoutAnyCaps.json");
Assert.assertEquals(outputJSON.trim(),actualOutput.trim());
}
@Test
public void testGenerateSequenceStopWithoutAnyCaps()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/StopWithoutAnyCaps.json");
Map<String,String> params = new HashMap<>();
SequenceGeneratorPlugin plugin = new SequenceGeneratorPluginImpl();
plugin.generateSequence(params,context);
- String outputJSON = context.getAttribute("output");
- String actualOutput = readOutput("/output/StopWithoutAnyCaps.json");
+ String actualOutput = context.getAttribute("output");
+ String outputJSON = readOutput("/output/StopWithoutAnyCaps.json");
Assert.assertEquals(outputJSON.trim(),actualOutput.trim());
}
+
@Test
public void testGenerateSequenceStartWithoutVmStartCaps()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/StartWithoutVmStartCaps.json");
Map<String,String> params = new HashMap<>();
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);
+ String actualOutput = context.getAttribute("output");
+ Assert.assertEquals(null, actualOutput);
}
@Test
public void testGenerateSequenceRestartWithoutVmRestartCaps()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/RestartWithoutVmRestartCaps.json");
Map<String,String> params = new HashMap<>();
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);
+ String actualOutput = context.getAttribute("output");
+ Assert.assertEquals(null, actualOutput);
}
@Test
public void testGenerateSequenceStopWithoutVmStopCaps()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
String inputJSON = readInput("/input/StopWithoutVmStopCaps.json");
Map<String,String> params = new HashMap<>();
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);
+ String actualOutput = context.getAttribute("output");
+ Assert.assertEquals(null, actualOutput);
+ }
+
+ @Test
+ public void testGenerateSequenceStartWithEmptyVmCaps()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
+ String inputJSON = readInput("/input/StartWithEmptyVmCaps.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 testGenerateSequenceRestartWithEmptyVmCaps()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
+ String inputJSON = readInput("/input/RestartWithEmptyVmCaps.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/RestartWithoutAnyCaps.json");
+ Assert.assertEquals(outputJSON.trim(),actualOutput.trim());
+ }
+
+ @Test
+ public void testGenerateSequenceStopWithEmptyVmCaps()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
+ String inputJSON = readInput("/input/StopWithEmptyVmCaps.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/StopWithoutAnyCaps.json");
+ Assert.assertEquals(outputJSON.trim(),actualOutput.trim());
+ }
+
+ @Test
+ public void testGenerateSequenceStartWithVmStartCapsAndMissingVnfcInfo()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
+ String inputJSON = readInput("/input/StartWithVmStartCapsAndMissingVnfcInfo.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/StartWithVmStartCapsAndMissingVnfcInfo.json");
+ Assert.assertEquals(outputJSON.trim(),actualOutput.trim());
+ }
+
+ @Test
+ public void testGenerateSequenceStopWithVmStopCapsAndMissingVnfcInfo()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
+ String inputJSON = readInput("/input/StopWithVmStopCapsAndMissingVnfcInfo.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/StopWithVmStopCapsAndMissingVnfcInfo.json");
+ Assert.assertEquals(outputJSON.trim(),actualOutput.trim());
+ }
+
+ @Test
+ public void testGenerateSequenceRestartWithVmRestartCapsAndMissingVnfcInfo()throws URISyntaxException, IOException {
+ logger.info("****** Running test: " + thisTestName.getMethodName() + " ******");
+
+ String inputJSON = readInput("/input/RestartWithVmRestartCapsAndMissingVnfcInfo.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/RestartWithVmRestartCapsAndMissingVnfcInfo.json");
+ Assert.assertEquals(outputJSON.trim(),actualOutput.trim());
}
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("[");
--- /dev/null
+{
+ "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" : {
+ "vm" : [],
+ "vnfc" : [],
+ "vf-module" : [],
+ "vnf" : []
+ }
+}
--- /dev/null
+{
+ "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" : "no_vnfc_info",
+ "vm-id" : "vm_id1"
+ },
+ {
+ "vserver-id" : "empty_vnfc_info",
+ "vm-id" : "vm_id1",
+ "vnfc":
+ {
+ }
+ },
+ {
+ "vserver-id" : "nofunctioncode",
+ "vm-id" : "vm_id1",
+ "vnfc":
+ {
+ "vnfc-type": "SMP",
+ "vnfc-name": "SMP - Name"
+ }
+ },
+ {
+ "vserver-id" : "be_vserverid1",
+ "vm-id" : "vm_id1",
+ "vnfc":
+ {
+ "vnfc-type": "BE",
+ "vnfc-function-code": "pld",
+ "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" : "unsupportedfunctioncode",
+ "vm-id" : "vm_id1",
+ "vnfc":
+ {
+ "vnfc-type": "BE",
+ "vnfc-function-code": "xyz",
+ "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"]
+ }
+}
--- /dev/null
+
+
+{
+ "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" : [],
+ "vnfc" : [],
+ "vf-module" : [],
+ "vnf" : []
+ }
+}
+
--- /dev/null
+{
+ "request-info": {
+ "action": "Start",
+ "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" : "no_vnfc_info",
+ "vm-id" : "vm_id1"
+ },
+ {
+ "vserver-id" : "empty_vnfc_info",
+ "vm-id" : "vm_id1",
+ "vnfc":
+ {
+ }
+ },
+ {
+ "vserver-id" : "nofunctioncode",
+ "vm-id" : "vm_id1",
+ "vnfc":
+ {
+ "vnfc-type": "SMP",
+ "vnfc-name": "SMP - Name"
+ }
+ },
+ {
+ "vserver-id" : "be_vserverid1",
+ "vm-id" : "vm_id1",
+ "vnfc":
+ {
+ "vnfc-type": "BE",
+ "vnfc-function-code": "pld",
+ "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" : "unsupportedfunctioncode",
+ "vm-id" : "vm_id1",
+ "vnfc":
+ {
+ "vnfc-type": "BE",
+ "vnfc-function-code": "xyz",
+ "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"]
+ }
+}
--- /dev/null
+{
+ "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_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_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" : {
+ "vm" : [],
+ "vnfc" : [],
+ "vf-module" : [],
+ "vnf" : []
+ }
+}
+
--- /dev/null
+{
+ "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_url",
+ "vm": [
+ {
+ "vserver-id" : "no_vnfc_info",
+ "vm-id" : "vm_id1"
+ },
+ {
+ "vserver-id" : "empty_vnfc_info",
+ "vm-id" : "vm_id1",
+ "vnfc":
+ {
+ }
+ },
+ {
+ "vserver-id" : "nofunctioncode",
+ "vm-id" : "vm_id1",
+ "vnfc":
+ {
+ "vnfc-type": "SMP",
+ "vnfc-name": "SMP - Name"
+ }
+ },
+ {
+ "vserver-id" : "be_vserverid1",
+ "vm-id" : "vm_id1",
+ "vnfc":
+ {
+ "vnfc-type": "BE",
+ "vnfc-function-code": "pld",
+ "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" : "unsupportedfunctioncode",
+ "vm-id" : "vm_id1",
+ "vnfc":
+ {
+ "vnfc-type": "BE",
+ "vnfc-function-code": "xyz",
+ "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"]
+ }
+}
"vnf-name": "vSCP",
"vnf-type": "vSCP",
"vnf-version" : "1.0",
- "identity-url" : "test",
+ "identity-url" : "test_url",
"vm": [
{
"vserver-id" : "be_vserverid1",
- "vm-id" : "vm-id1",
+ "vm-id" : "vm_id1",
"vnfc":
{
"vnfc-type": "BE",
},
{
"vserver-id" : "fe_vserverid1",
- "vm-id" : "vm-id2",
+ "vm-id" : "vm_id2",
"vnfc":
{
"vnfc-type": "FE",
},
{
"vserver-id" : "fe_vserverid2",
- "vm-id" : "vm-id3",
+ "vm-id" : "vm_id3",
"vnfc":
{
"vnfc-type": "FE",
},
{
"vserver-id" : "be_vserverid2",
- "vm-id" : "vm-id4",
+ "vm-id" : "vm_id4",
"vnfc":
{
"vnfc-type": "BE",
},
{
"vserver-id" : "be_vserverid3",
- "vm-id" : "vm-id1",
+ "vm-id" : "vm_id1",
"vnfc":
{
"vnfc-type": "BE",
},
{
"vserver-id" : "smp_vserverid1",
- "vm-id" : "vm-id1",
+ "vm-id" : "vm_id1",
"vnfc":
{
"vnfc-type": "SMP",
},
{
"vserver-id" : "smp_vserverid2",
- "vm-id" : "vm-id1",
+ "vm-id" : "vm_id1",
"vnfc":
{
"vnfc-type": "SMP",
},
{
"vserver-id" : "be_vserverid4",
- "vm-id" : "vm-id1",
+ "vm-id" : "vm_id1",
"vnfc":
{
"vnfc-type": "BE",
},
{
"vserver-id" : "be_vserverid5",
- "vm-id" : "vm-id1",
+ "vm-id" : "vm_id1",
"vnfc":
{
"vnfc-type": "BE",
-[{"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
+[{"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":"true"}}]},{"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":"true"}}]},{"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":"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":"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":"true"}}]},{"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":"true"}}]},{"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":"true"}}]},{"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":"true"}}]}]
\ No newline at end of file
--- /dev/null
+[{"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":"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":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":"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":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
+[{"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":"true"}}]},{"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":"true"}}]},{"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":"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":"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":"true"}}]},{"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":"true"}}]},{"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":"true"}}]},{"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":"true"}}]}]
\ No newline at end of file
--- /dev/null
+[{"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":"be_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]}]
--- /dev/null
+[{"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":"be_vserverid2"},"payload":"{\"identity-url\":\"test_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]}]
-[{"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
+[{"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":"fe_vserverid1"},"payload":"{\"identity-url\":\"test_url\",\"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_url\",\"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_url\",\"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_url\",\"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_url\",\"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_url\",\"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_url\",\"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_url\",\"vm-id\":\"vm_id1\"}","responses":[{"response-message":"failure","response-action":{"stop":"true"}}]}]
\ No newline at end of file
-[{"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
+[{"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":"true"}}]},{"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":"true"}}]},{"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":"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":"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":"true"}}]},{"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":"true"}}]},{"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":"true"}}]},{"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":"true"}}]}]
\ No newline at end of file
-[{"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"}}]}]
+[{"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"}}]}]