diff options
18 files changed, 1707 insertions, 16 deletions
diff --git a/saltstack-adapter/saltstack-adapter-provider/src/main/java/org/onap/ccsdk/sli/adaptors/saltstack/impl/SaltstackAdapterImpl.java b/saltstack-adapter/saltstack-adapter-provider/src/main/java/org/onap/ccsdk/sli/adaptors/saltstack/impl/SaltstackAdapterImpl.java index e4bceb5b..77874b0e 100644 --- a/saltstack-adapter/saltstack-adapter-provider/src/main/java/org/onap/ccsdk/sli/adaptors/saltstack/impl/SaltstackAdapterImpl.java +++ b/saltstack-adapter/saltstack-adapter-provider/src/main/java/org/onap/ccsdk/sli/adaptors/saltstack/impl/SaltstackAdapterImpl.java @@ -292,13 +292,8 @@ public class SaltstackAdapterImpl implements SaltstackAdapter { return; } else { logger.info(String.format("Execution of request : successful.")); - if (slsExec) { - ctx.setAttribute(RESULT_CODE_ATTRIBUTE_NAME, Integer.toString(testResult.getStatusCode())); - ctx.setAttribute(MESSAGE_ATTRIBUTE_NAME, "success"); - } else { - ctx.setAttribute(RESULT_CODE_ATTRIBUTE_NAME, Integer.toString(SaltstackResultCodes.CHECK_CTX_FOR_CMD_SUCCESS.getValue())); - ctx.setAttribute(MESSAGE_ATTRIBUTE_NAME, "check context for execution status"); - } + ctx.setAttribute(RESULT_CODE_ATTRIBUTE_NAME, Integer.toString(testResult.getStatusCode())); + ctx.setAttribute(MESSAGE_ATTRIBUTE_NAME, "success"); ctx.setAttribute(ID_ATTRIBUTE_NAME, reqID); } } @@ -318,7 +313,8 @@ public class SaltstackAdapterImpl implements SaltstackAdapter { reqID = messageProcessor.reqId(params); String commandToExecute = messageProcessor.reqCmd(params); slsExec = messageProcessor.reqIsSLSExec(params); - testResult = execCommand(ctx, params, commandToExecute, -1); + long execTimeout = messageProcessor.reqExecTimeout(params); + testResult = execCommand(ctx, params, commandToExecute, execTimeout); testResult = messageProcessor.parseResponse(ctx, reqID, testResult, slsExec); checkResponseStatus(testResult, ctx, reqID, slsExec); } catch (IOException e) { diff --git a/saltstack-adapter/saltstack-adapter-provider/src/test/java/org/onap/ccsdk/adapter/impl/TestSaltstackAdapterImpl.java b/saltstack-adapter/saltstack-adapter-provider/src/test/java/org/onap/ccsdk/adapter/impl/TestSaltstackAdapterImpl.java index 48f5c20b..98137a8b 100644 --- a/saltstack-adapter/saltstack-adapter-provider/src/test/java/org/onap/ccsdk/adapter/impl/TestSaltstackAdapterImpl.java +++ b/saltstack-adapter/saltstack-adapter-provider/src/test/java/org/onap/ccsdk/adapter/impl/TestSaltstackAdapterImpl.java @@ -278,7 +278,7 @@ public class TestSaltstackAdapterImpl { adapter.reqExecCommand(params, svcContext); String status = svcContext.getAttribute("org.onap.appc.adapter.saltstack.result.code"); TestId = svcContext.getAttribute("org.onap.appc.adapter.saltstack.Id"); - assertEquals("250", status); + assertEquals("200", status); assertEquals(TestId, "test1"); } @@ -339,7 +339,7 @@ public class TestSaltstackAdapterImpl { adapter.reqExecCommand(params, svcContext); String status = svcContext.getAttribute("org.onap.appc.adapter.saltstack.result.code"); TestId = svcContext.getAttribute("org.onap.appc.adapter.saltstack.Id"); - assertEquals("250", status); + assertEquals("200", status); assertEquals(TestId, "txt"); } @@ -360,7 +360,7 @@ public class TestSaltstackAdapterImpl { adapter.reqExecCommand(params, svcContext); String status = svcContext.getAttribute("org.onap.appc.adapter.saltstack.result.code"); TestId = svcContext.getAttribute("org.onap.appc.adapter.saltstack.Id"); - assertEquals("250", status); + assertEquals("200", status); assertEquals(TestId, "txt"); } @@ -381,7 +381,7 @@ public class TestSaltstackAdapterImpl { adapter.reqExecCommand(params, svcContext); String status = svcContext.getAttribute("org.onap.appc.adapter.saltstack.result.code"); TestId = svcContext.getAttribute("org.onap.appc.adapter.saltstack.Id"); - assertEquals("250", status); + assertEquals("200", status); } @Test(expected = SvcLogicException.class) @@ -415,7 +415,7 @@ public class TestSaltstackAdapterImpl { adapter.reqExecCommand(params, svcContext); String status = svcContext.getAttribute("org.onap.appc.adapter.saltstack.result.code"); TestId = svcContext.getAttribute("org.onap.appc.adapter.saltstack.Id"); - assertEquals("250", status); + assertEquals("200", status); } @Test @@ -817,7 +817,7 @@ public class TestSaltstackAdapterImpl { adapter.reqExecCommand(params, svcContext); String status = svcContext.getAttribute("org.onap.appc.adapter.saltstack.result.code"); TestId = svcContext.getAttribute("org.onap.appc.adapter.saltstack.Id"); - assertEquals("250", status); + assertEquals("200", status); assertEquals(TestId, "test1"); } catch (Exception e){ //if local ssh is not enabled @@ -826,6 +826,34 @@ public class TestSaltstackAdapterImpl { } @Test + public void reqExecCommand_shouldSetSuccessRealSLSCommand() throws SvcLogicException, + IllegalStateException, IllegalArgumentException { + + params.put("HostName", "<IP>"); + params.put("Port", "2222"); + params.put("User", "root"); + params.put("Password", "vagrant"); + params.put("Id", "test1"); + params.put("cmd", "salt '*' test.ping --out=json --static"); + params.put("slsExec", "false"); + params.put("execTimeout", "12000"); + + adapter = new SaltstackAdapterImpl(); + try { + adapter.reqExecCommand(params, svcContext); + String status = svcContext.getAttribute("org.onap.appc.adapter.saltstack.result.code"); + TestId = svcContext.getAttribute("org.onap.appc.adapter.saltstack.Id"); + assertEquals("200", status); + assertEquals(TestId, "test1"); + TestId = svcContext.getAttribute("test1.minion1"); + assertEquals(TestId, "true"); + } catch (Exception e){ + //if saltstack ssh IP is not enabled + return; + } + } + + @Test public void reqExecCommand_shouldSetSuccessRealCommand() throws SvcLogicException, IllegalStateException, IllegalArgumentException { @@ -855,7 +883,7 @@ public class TestSaltstackAdapterImpl { public void reqExecCommand_shouldSetSuccessRealSSL() throws SvcLogicException, IllegalStateException, IllegalArgumentException { - params.put("HostName", "10.251.92.17"); + params.put("HostName", "<IP>"); params.put("Port", "2222"); params.put("User", "root"); params.put("Password", "vagrant"); @@ -881,7 +909,7 @@ public class TestSaltstackAdapterImpl { public void reqExecCommand_shouldSetSuccessSSLFile() throws SvcLogicException, IllegalStateException, IllegalArgumentException { - params.put("HostName", "10.251.92.17"); + params.put("HostName", "<IP>"); params.put("Port", "2222"); params.put("User", "root"); params.put("Password", "vagrant"); diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exe-nonSLS.json b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exe-nonSLS.json new file mode 100644 index 00000000..3a287e34 --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exe-nonSLS.json @@ -0,0 +1,203 @@ +[ + { + "id": "d86e7ee4.ee3f1", + "type": "method", + "name": "saltstack-adapter-1.0", + "xml": "<method rpc='saltstack-adapter-1.0-exe-nonSLS' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 492, + "y": 216, + "z": "5945fc3c.78efc4", + "wires": [ + [ + "38662e01.1d3c22" + ] + ] + }, + { + "id": "9997883e.ec9028", + "type": "service-logic", + "name": "APPC 2.0.1", + "module": "APPC", + "version": "2.0.1", + "comments": "", + "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='2.0.1'>", + "outputs": 1, + "x": 283, + "y": 289, + "z": "5945fc3c.78efc4", + "wires": [ + [ + "d86e7ee4.ee3f1" + ] + ] + }, + { + "id": "d40bf650.8338e8", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />\n<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />\n", + "comments": "", + "x": 1007, + "y": 373, + "z": "5945fc3c.78efc4", + "wires": [] + }, + { + "id": "38662e01.1d3c22", + "type": "execute", + "name": "execute", + "xml": "<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >\n <parameter name='HostName' value='`$AgentUrl`'/>\n <parameter name='Port' value='`$Port`'/>\n <parameter name='User' value='`$User`'/>\n <parameter name='Password' value='`$Password`'/>\n <parameter name='Id' value='test1'/>\n <parameter name='cmd' value='cd /srv/salt; ls -l'/>\n <parameter name='slsExec' value='false'/>\n <parameter name='execTimeout' value='`$Timeout`'/>\n", + "comments": "", + "outputs": 1, + "x": 700, + "y": 212, + "z": "5945fc3c.78efc4", + "wires": [ + [ + "7b75e382.6344dc", + "6f108926.d7baf8" + ] + ] + }, + { + "id": "24fb9f79.a6c6c", + "type": "switchNode", + "name": "switch", + "xml": "<switch test=\"`$org.onap.appc.adapter.saltstack.result.code`\">\n", + "comments": "", + "outputs": 1, + "x": 486, + "y": 372, + "z": "5945fc3c.78efc4", + "wires": [ + [ + "c526c44.c850738", + "9c394980.2a56a8" + ] + ] + }, + { + "id": "c526c44.c850738", + "type": "other", + "name": "outcome", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 675, + "y": 371, + "z": "5945fc3c.78efc4", + "wires": [ + [ + "d40bf650.8338e8" + ] + ] + }, + { + "id": "7b75e382.6344dc", + "type": "failure", + "name": "failure", + "xml": "<outcome value='failure'>\n", + "comments": "", + "outputs": 1, + "x": 951, + "y": 210, + "z": "5945fc3c.78efc4", + "wires": [ + [ + "d40bf650.8338e8" + ] + ] + }, + { + "id": "6f108926.d7baf8", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 298, + "y": 378, + "z": "5945fc3c.78efc4", + "wires": [ + [ + "24fb9f79.a6c6c" + ] + ] + }, + { + "id": "9c394980.2a56a8", + "type": "success", + "name": "success", + "xml": "<outcome value='200'>\n", + "comments": "", + "outputs": 1, + "x": 667, + "y": 460, + "z": "5945fc3c.78efc4", + "wires": [ + [ + "1f81a3db.54cd1c" + ] + ] + }, + { + "id": "1f81a3db.54cd1c", + "type": "returnSuccess", + "name": "return success", + "xml": "<return status='success'>\n<parameter name='output.status.code' value='`$org.openecomp.appc.adapter.ansible.result.code`' />\n<parameter name='output.status.message' value='`$org.openecomp.appc.adapter.ansible.message`'/>\n<parameter name='output.status.results' value = '`$org.openecomp.appc.adapter.ansible.results`'/>\n", + "comments": "", + "x": 887, + "y": 460, + "z": "5945fc3c.78efc4", + "wires": [] + }, + { + "id": "fcad80f8.ba2d9", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 261, + "y": 189, + "z": "5945fc3c.78efc4", + "wires": [ + [ + "9997883e.ec9028" + ] + ] + }, + { + "id": "b86e624d.49f0f", + "type": "comment", + "name": "SaltStack Adaptor DG", + "info": "", + "comments": "", + "x": 630, + "y": 75, + "z": "5945fc3c.78efc4", + "wires": [] + }, + { + "id": "83c0578d.061f98", + "type": "comment", + "name": "request-method = reqExecCommand, req-action = \"execute a single non SLS command\"", + "info": "", + "comments": "", + "x": 650, + "y": 155, + "z": "5945fc3c.78efc4", + "wires": [] + }, + { + "id": "f104feb6.558f7", + "type": "comment", + "name": "Assumptions for this DG", + "info": "Here we assume, the saltstack server is the example-vagrant based server. Where, the master saltstact controlls minion1 and minion2. ", + "comments": "", + "x": 627, + "y": 115, + "z": "5945fc3c.78efc4", + "wires": [] + } +]
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exe-nonSLS.xml b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exe-nonSLS.xml new file mode 100644 index 00000000..eadf3361 --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exe-nonSLS.xml @@ -0,0 +1,50 @@ +<service-logic xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd'
+ module='APPC' version='2.0.1'>
+ <method rpc='saltstack-adapter-1.0-exe-nonSLS' mode='sync'>
+ <execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter'
+ method='reqExecCommand'>
+ <parameter name='HostName' value='`$AgentUrl`'/>
+ <parameter name='Port' value='`$Port`'/>
+ <parameter name='User' value='`$User`'/>
+ <parameter name='Password' value='`$Password`'/>
+ <parameter name='Id' value='test1'/>
+ <parameter name='cmd' value='cd /srv/salt; ls -l'/>
+ <parameter name='slsExec' value='false'/>
+ <parameter name='execTimeout' value='`$Timeout`'/>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='error-code' value='200'/>
+ <parameter name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <switch test="`$org.onap.appc.adapter.saltstack.result.code`">
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='error-code' value='200'/>
+ <parameter name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ <outcome value='200'>
+ <return status='success'>
+ <parameter name='output.status.code'
+ value='`$org.openecomp.appc.adapter.ansible.result.code`'/>
+ <parameter name='output.status.message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ </execute>
+ </method>
+</service-logic>
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-SLSFile.json b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-SLSFile.json new file mode 100644 index 00000000..95178ac2 --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-SLSFile.json @@ -0,0 +1,350 @@ +[ + { + "id": "d0ad0305.352fc", + "type": "method", + "name": "saltstack-adapter-1.0", + "xml": "<method rpc='saltstack-adapter-1.0-exec-SLSFile' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 552, + "y": 183, + "z": "b84dc629.83cd08", + "wires": [ + [ + "65cc87e2.a95188" + ] + ] + }, + { + "id": "22aefec.e8c7902", + "type": "service-logic", + "name": "APPC 2.0.1", + "module": "APPC", + "version": "2.0.1", + "comments": "", + "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='2.0.1'>", + "outputs": 1, + "x": 343, + "y": 261, + "z": "b84dc629.83cd08", + "wires": [ + [ + "d0ad0305.352fc" + ] + ] + }, + { + "id": "31587001.4259e", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />\n<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />\n", + "comments": "", + "x": 1262, + "y": 365, + "z": "b84dc629.83cd08", + "wires": [] + }, + { + "id": "65cc87e2.a95188", + "type": "execute", + "name": "execute", + "xml": "<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >\n <parameter name='HostName' value='`$AgentUrl`'/>\n <parameter name='Port' value='`$Port`'/>\n <parameter name='User' value='`$User`'/>\n <parameter name='Password' value='`$Password`'/>\n <parameter name='Id' value='test1'/>\n <parameter name='cmd' value='salt '*' test.ping --out=json --static'/>\n <parameter name='slsExec' value='false'/>\n <parameter name='execTimeout' value='`$Timeout`'/>\n", + "comments": "", + "outputs": 1, + "x": 761, + "y": 185, + "z": "b84dc629.83cd08", + "wires": [ + [ + "f9bf6ee7.cf954", + "7b51c357.a852cc" + ] + ] + }, + { + "id": "42fa1258.aa570c", + "type": "switchNode", + "name": "switch", + "xml": "<switch test=\"`$org.onap.appc.adapter.saltstack.result.code`\">\n", + "comments": "", + "outputs": 1, + "x": 544, + "y": 345, + "z": "b84dc629.83cd08", + "wires": [ + [ + "a7cf236a.84c03", + "c45d597b.20b4c8" + ] + ] + }, + { + "id": "a7cf236a.84c03", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 735, + "y": 343, + "z": "b84dc629.83cd08", + "wires": [ + [ + "31587001.4259e" + ] + ] + }, + { + "id": "f9bf6ee7.cf954", + "type": "failure", + "name": "failure", + "xml": "<outcome value='failure'>\n", + "comments": "", + "outputs": 1, + "x": 1011, + "y": 182, + "z": "b84dc629.83cd08", + "wires": [ + [ + "31587001.4259e" + ] + ] + }, + { + "id": "7b51c357.a852cc", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 366, + "y": 343, + "z": "b84dc629.83cd08", + "wires": [ + [ + "42fa1258.aa570c" + ] + ] + }, + { + "id": "c45d597b.20b4c8", + "type": "success", + "name": "success", + "xml": "<outcome value='200'>\n", + "comments": "", + "outputs": 1, + "x": 351, + "y": 459, + "z": "b84dc629.83cd08", + "wires": [ + [ + "30d5f0f7.0e3c8" + ] + ] + }, + { + "id": "2856792.c401a86", + "type": "returnSuccess", + "name": "return success", + "xml": "<return status='success'>\n<parameter name='output.status.code' value='`$org.openecomp.appc.adapter.ansible.result.code`' />\n<parameter name='output.status.message' value='`$org.openecomp.appc.adapter.ansible.message`'/>\n<parameter name='output.status.results' value = '`$org.openecomp.appc.adapter.ansible.results`'/>\n", + "comments": "", + "x": 1042, + "y": 656, + "z": "b84dc629.83cd08", + "wires": [] + }, + { + "id": "6c359fdc.3b566", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 321, + "y": 161, + "z": "b84dc629.83cd08", + "wires": [ + [ + "22aefec.e8c7902" + ] + ] + }, + { + "id": "b5342c59.29f74", + "type": "comment", + "name": "SaltStack Adaptor DG", + "info": "", + "comments": "", + "x": 693, + "y": 44, + "z": "b84dc629.83cd08", + "wires": [] + }, + { + "id": "19202194.8ff55e", + "type": "comment", + "name": "request-method = reqExecCommand, req-action = \"execute multiple SLS commands\"", + "info": "Here we basically test if minion1 is active by pinging to it, then install vim package to it. \n", + "comments": "", + "x": 711, + "y": 127, + "z": "b84dc629.83cd08", + "wires": [] + }, + { + "id": "a2ebc17e.fa03a", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 396, + "y": 661, + "z": "b84dc629.83cd08", + "wires": [ + [ + "c9345fbb.d6d19" + ] + ] + }, + { + "id": "770411a5.18825", + "type": "execute", + "name": "execute", + "xml": "<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >\n <parameter name='HostName' value='`$AgentUrl`'/>\n <parameter name='Port' value='`$Port`'/>\n <parameter name='User' value='`$User`'/>\n <parameter name='Password' value='`$Password`'/>\n <parameter name='Id' value='test2'/>\n <parameter name='cmd' value='cd /srv/salt/; salt 'minion1' state.apply vim --out=json --static'/>\n <parameter name='slsExec' value='true'/>\n <parameter name='execTimeout' value='`$Timeout`'/>\n", + "comments": "", + "outputs": 1, + "x": 773, + "y": 548, + "z": "b84dc629.83cd08", + "wires": [ + [ + "e09a3e12.87428", + "a2ebc17e.fa03a" + ] + ] + }, + { + "id": "e09a3e12.87428", + "type": "failure", + "name": "failure", + "xml": "<outcome value='failure'>\n", + "comments": "", + "outputs": 1, + "x": 991, + "y": 554, + "z": "b84dc629.83cd08", + "wires": [ + [ + "31587001.4259e" + ] + ] + }, + { + "id": "c9345fbb.d6d19", + "type": "switchNode", + "name": "switch", + "xml": "<switch test=\"`$org.onap.appc.adapter.saltstack.result.code`\">\n", + "comments": "", + "outputs": 1, + "x": 578, + "y": 658, + "z": "b84dc629.83cd08", + "wires": [ + [ + "485e453d.36c75c", + "f1adcf2a.2c456" + ] + ] + }, + { + "id": "485e453d.36c75c", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 783, + "y": 732, + "z": "b84dc629.83cd08", + "wires": [ + [ + "31587001.4259e" + ] + ] + }, + { + "id": "f1adcf2a.2c456", + "type": "success", + "name": "success", + "xml": "<outcome value='200'>\n", + "comments": "", + "outputs": 1, + "x": 776, + "y": 658, + "z": "b84dc629.83cd08", + "wires": [ + [ + "2856792.c401a86" + ] + ] + }, + { + "id": "30d5f0f7.0e3c8", + "type": "switchNode", + "name": "switch", + "xml": "<switch test=\"`$test1.minion1`\">\n", + "comments": "", + "outputs": 1, + "x": 523, + "y": 459, + "z": "b84dc629.83cd08", + "wires": [ + [ + "15e9ff68.9812a1", + "17d9d7e.4d9a928" + ] + ] + }, + { + "id": "17d9d7e.4d9a928", + "type": "other", + "name": "outcome", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 593, + "y": 550, + "z": "b84dc629.83cd08", + "wires": [ + [ + "770411a5.18825" + ] + ] + }, + { + "id": "15e9ff68.9812a1", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 717, + "y": 459, + "z": "b84dc629.83cd08", + "wires": [ + [ + "31587001.4259e" + ] + ] + }, + { + "id": "b764890c.ed0018", + "type": "comment", + "name": "Assumptions for this DG (example-server)", + "info": "1) Here we assume, the saltstack server is the example-vagrant based server. Where, the master saltstact controlls minion1 and minion2. \n2) We assume that sls file called vim.sls is already present in the path /srv/salt on the server.", + "comments": "", + "x": 693, + "y": 86, + "z": "b84dc629.83cd08", + "wires": [] + } +]
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-SLSFile.xml b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-SLSFile.xml new file mode 100644 index 00000000..c112723c --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-SLSFile.xml @@ -0,0 +1,112 @@ +<service-logic xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd'
+ module='APPC' version='2.0.1'>
+ <method rpc='saltstack-adapter-1.0-exec-SLSFile' mode='sync'>
+ <execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter'
+ method='reqExecCommand'>
+ <parameter name='HostName' value='`$AgentUrl`'/>
+ <parameter name='Port' value='`$Port`'/>
+ <parameter name='User' value='`$User`'/>
+ <parameter name='Password' value='`$Password`'/>
+ <parameter name='Id' value='test1'/>
+ <parameter name='cmd'
+ value='salt '*' test.ping --out=json --static'/>
+ <parameter name='slsExec' value='false'/>
+ <parameter name='execTimeout' value='`$Timeout`'/>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='error-code' value='200'/>
+ <parameter name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <switch test="`$org.onap.appc.adapter.saltstack.result.code`">
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='error-code' value='200'/>
+ <parameter name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ <outcome value='200'>
+ <switch test="`$test1.minion1`">
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='error-code' value='200'/>
+ <parameter name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ <outcome value='true'>
+ <execute
+ plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter'
+ method='reqExecCommand'>
+ <parameter name='HostName'
+ value='`$AgentUrl`'/>
+ <parameter name='Port' value='`$Port`'/>
+ <parameter name='User' value='`$User`'/>
+ <parameter name='Password'
+ value='`$Password`'/>
+ <parameter name='Id' value='test2'/>
+ <parameter name='cmd'
+ value='cd /srv/salt/; salt 'minion1' state.apply vim --out=json --static'/>
+ <parameter name='slsExec' value='true'/>
+ <parameter name='execTimeout'
+ value='`$Timeout`'/>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='error-code'
+ value='200'/>
+ <parameter name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter
+ name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <switch test="`$org.onap.appc.adapter.saltstack.result.code`">
+ <outcome value='200'>
+ <return status='success'>
+ <parameter
+ name='output.status.code'
+ value='`$org.openecomp.appc.adapter.ansible.result.code`'/>
+ <parameter
+ name='output.status.message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter
+ name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='error-code'
+ value='200'/>
+ <parameter
+ name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter
+ name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </outcome>
+ </execute>
+ </method>
+</service-logic>
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-multi-sls.json b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-multi-sls.json new file mode 100644 index 00000000..85254587 --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-multi-sls.json @@ -0,0 +1,399 @@ +[ + { + "id": "65f5c0d6.9c4ce", + "type": "method", + "name": "saltstack-adapter-1.0", + "xml": "<method rpc='saltstack-adapter-1.0-exec-multi-sls' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 615, + "y": 273, + "z": "6df02477.0463cc", + "wires": [ + [ + "c332cb01.51a3e8" + ] + ] + }, + { + "id": "bf71bd6e.1be5b", + "type": "service-logic", + "name": "APPC 2.0.1", + "module": "APPC", + "version": "2.0.1", + "comments": "", + "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='2.0.1'>", + "outputs": 1, + "x": 406, + "y": 351, + "z": "6df02477.0463cc", + "wires": [ + [ + "65f5c0d6.9c4ce" + ] + ] + }, + { + "id": "40ce8a6.5f7d174", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />\n<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />\n", + "comments": "", + "x": 1325, + "y": 455, + "z": "6df02477.0463cc", + "wires": [] + }, + { + "id": "c332cb01.51a3e8", + "type": "execute", + "name": "execute", + "xml": "<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >\n <parameter name='HostName' value='`$AgentUrl`'/>\n <parameter name='Port' value='`$Port`'/>\n <parameter name='User' value='`$User`'/>\n <parameter name='Password' value='`$Password`'/>\n <parameter name='Id' value='test1'/>\n <parameter name='cmd' value='salt '*' test.ping --out=json --static'/>\n <parameter name='slsExec' value='false'/>\n <parameter name='execTimeout' value='`$Timeout`'/>\n", + "comments": "", + "outputs": 1, + "x": 824, + "y": 275, + "z": "6df02477.0463cc", + "wires": [ + [ + "5b387684.e51be8", + "4bb6b32e.adfc2c" + ] + ] + }, + { + "id": "16dfbd4f.b6da73", + "type": "switchNode", + "name": "switch", + "xml": "<switch test=\"`$org.onap.appc.adapter.saltstack.result.code`\">\n", + "comments": "", + "outputs": 1, + "x": 607, + "y": 435, + "z": "6df02477.0463cc", + "wires": [ + [ + "24d22f52.ef59a", + "ac765880.a6c548" + ] + ] + }, + { + "id": "24d22f52.ef59a", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 798, + "y": 433, + "z": "6df02477.0463cc", + "wires": [ + [ + "40ce8a6.5f7d174" + ] + ] + }, + { + "id": "5b387684.e51be8", + "type": "failure", + "name": "failure", + "xml": "<outcome value='failure'>\n", + "comments": "", + "outputs": 1, + "x": 1074, + "y": 272, + "z": "6df02477.0463cc", + "wires": [ + [ + "40ce8a6.5f7d174" + ] + ] + }, + { + "id": "4bb6b32e.adfc2c", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 429, + "y": 433, + "z": "6df02477.0463cc", + "wires": [ + [ + "16dfbd4f.b6da73" + ] + ] + }, + { + "id": "ac765880.a6c548", + "type": "success", + "name": "success", + "xml": "<outcome value='200'>\n", + "comments": "", + "outputs": 1, + "x": 414, + "y": 549, + "z": "6df02477.0463cc", + "wires": [ + [ + "2dda30fc.8747" + ] + ] + }, + { + "id": "e45accfe.91615", + "type": "returnSuccess", + "name": "return success", + "xml": "<return status='success'>\n<parameter name='output.status.code' value='`$org.openecomp.appc.adapter.ansible.result.code`' />\n<parameter name='output.status.message' value='`$org.openecomp.appc.adapter.ansible.message`'/>\n<parameter name='output.status.results' value = '`$org.openecomp.appc.adapter.ansible.results`'/>\n", + "comments": "", + "x": 1345, + "y": 757, + "z": "6df02477.0463cc", + "wires": [] + }, + { + "id": "11a891ad.55bc1e", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 384, + "y": 251, + "z": "6df02477.0463cc", + "wires": [ + [ + "bf71bd6e.1be5b" + ] + ] + }, + { + "id": "a56383b.496c48", + "type": "comment", + "name": "SaltStack Adaptor DG", + "info": "", + "comments": "", + "x": 756, + "y": 134, + "z": "6df02477.0463cc", + "wires": [] + }, + { + "id": "cfda30b5.5e166", + "type": "comment", + "name": "request-method = reqExecCommand, req-action = \"execute multiple SLS commands\"", + "info": "Here we basically test if minion1 is active by pinging to it, then install vim package to it. \n", + "comments": "", + "x": 773, + "y": 217, + "z": "6df02477.0463cc", + "wires": [] + }, + { + "id": "a8efb922.f23ce8", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 459, + "y": 751, + "z": "6df02477.0463cc", + "wires": [ + [ + "3ff32215.20cd0e" + ] + ] + }, + { + "id": "df0c0907.d17838", + "type": "execute", + "name": "execute", + "xml": "<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >\n <parameter name='HostName' value='`$AgentUrl`'/>\n <parameter name='Port' value='`$Port`'/>\n <parameter name='User' value='`$User`'/>\n <parameter name='Password' value='`$Password`'/>\n <parameter name='Id' value='test2'/>\n <parameter name='cmd' value='salt 'minion1' pkg.install vim --out=json --static'/>\n <parameter name='slsExec' value='false'/>\n <parameter name='execTimeout' value='`$Timeout`'/>\n", + "comments": "", + "outputs": 1, + "x": 836, + "y": 638, + "z": "6df02477.0463cc", + "wires": [ + [ + "1e5bbe2e.9cbb82", + "a8efb922.f23ce8" + ] + ] + }, + { + "id": "1e5bbe2e.9cbb82", + "type": "failure", + "name": "failure", + "xml": "<outcome value='failure'>\n", + "comments": "", + "outputs": 1, + "x": 1054, + "y": 644, + "z": "6df02477.0463cc", + "wires": [ + [ + "40ce8a6.5f7d174" + ] + ] + }, + { + "id": "3ff32215.20cd0e", + "type": "switchNode", + "name": "switch", + "xml": "<switch test=\"`$org.onap.appc.adapter.saltstack.result.code`\">\n", + "comments": "", + "outputs": 1, + "x": 647, + "y": 745, + "z": "6df02477.0463cc", + "wires": [ + [ + "8e2c712b.784b4", + "3d74cfe5.d41f5" + ] + ] + }, + { + "id": "8e2c712b.784b4", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 830, + "y": 823, + "z": "6df02477.0463cc", + "wires": [ + [ + "40ce8a6.5f7d174" + ] + ] + }, + { + "id": "3d74cfe5.d41f5", + "type": "success", + "name": "success", + "xml": "<outcome value='200'>\n", + "comments": "", + "outputs": 1, + "x": 829, + "y": 758, + "z": "6df02477.0463cc", + "wires": [ + [ + "8313564b.004798" + ] + ] + }, + { + "id": "2dda30fc.8747", + "type": "switchNode", + "name": "switch", + "xml": "<switch test=\"`$test1.minion1`\">\n", + "comments": "", + "outputs": 1, + "x": 586, + "y": 549, + "z": "6df02477.0463cc", + "wires": [ + [ + "e0133af5.2ca028", + "7f28f521.cf47cc" + ] + ] + }, + { + "id": "7f28f521.cf47cc", + "type": "other", + "name": "outcome", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 656, + "y": 640, + "z": "6df02477.0463cc", + "wires": [ + [ + "df0c0907.d17838" + ] + ] + }, + { + "id": "e0133af5.2ca028", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 780, + "y": 549, + "z": "6df02477.0463cc", + "wires": [ + [ + "40ce8a6.5f7d174" + ] + ] + }, + { + "id": "8313564b.004798", + "type": "switchNode", + "name": "switch", + "xml": "<switch test=\"`$test2.minion1.retcode`\">\n", + "comments": "", + "outputs": 1, + "x": 986, + "y": 752, + "z": "6df02477.0463cc", + "wires": [ + [ + "13d18d2d.71fbf3", + "2e940add.522a36" + ] + ] + }, + { + "id": "13d18d2d.71fbf3", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 1165, + "y": 825, + "z": "6df02477.0463cc", + "wires": [ + [ + "40ce8a6.5f7d174" + ] + ] + }, + { + "id": "2e940add.522a36", + "type": "success", + "name": "success", + "xml": "<outcome value='0'>\n", + "comments": "", + "outputs": 1, + "x": 1156, + "y": 754, + "z": "6df02477.0463cc", + "wires": [ + [ + "e45accfe.91615" + ] + ] + }, + { + "id": "6d6678d2.6a9bd8", + "type": "comment", + "name": "Assumptions for this DG (example-server)", + "info": "Here we assume, the saltstack server is the example-vagrant based server. Where, the master saltstact controlls minion1 and minion2. ", + "comments": "", + "x": 756, + "y": 173, + "z": "6df02477.0463cc", + "wires": [] + } +]
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-multi-sls.xml b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-multi-sls.xml new file mode 100644 index 00000000..0e5e17c4 --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-multi-sls.xml @@ -0,0 +1,129 @@ +<service-logic xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd'
+ module='APPC' version='2.0.1'>
+ <method rpc='saltstack-adapter-1.0-exec-multi-sls' mode='sync'>
+ <execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter'
+ method='reqExecCommand'>
+ <parameter name='HostName' value='`$AgentUrl`'/>
+ <parameter name='Port' value='`$Port`'/>
+ <parameter name='User' value='`$User`'/>
+ <parameter name='Password' value='`$Password`'/>
+ <parameter name='Id' value='test1'/>
+ <parameter name='cmd'
+ value='salt '*' test.ping --out=json --static'/>
+ <parameter name='slsExec' value='false'/>
+ <parameter name='execTimeout' value='`$Timeout`'/>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='error-code' value='200'/>
+ <parameter name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <switch test="`$org.onap.appc.adapter.saltstack.result.code`">
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='error-code' value='200'/>
+ <parameter name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ <outcome value='200'>
+ <switch test="`$test1.minion1`">
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='error-code' value='200'/>
+ <parameter name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ <outcome value='true'>
+ <execute
+ plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter'
+ method='reqExecCommand'>
+ <parameter name='HostName'
+ value='`$AgentUrl`'/>
+ <parameter name='Port' value='`$Port`'/>
+ <parameter name='User' value='`$User`'/>
+ <parameter name='Password'
+ value='`$Password`'/>
+ <parameter name='Id' value='test2'/>
+ <parameter name='cmd'
+ value='salt 'minion1' pkg.install vim --out=json --static'/>
+ <parameter name='slsExec' value='false'/>
+ <parameter name='execTimeout'
+ value='`$Timeout`'/>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='error-code'
+ value='200'/>
+ <parameter name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter
+ name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <switch test="`$org.onap.appc.adapter.saltstack.result.code`">
+ <outcome value='200'>
+ <switch test="`$test2.minion1.retcode`">
+ <outcome value='0'>
+ <return status='success'>
+ <parameter
+ name='output.status.code'
+ value='`$org.openecomp.appc.adapter.ansible.result.code`'/>
+ <parameter
+ name='output.status.message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter
+ name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter
+ name='error-code'
+ value='200'/>
+ <parameter
+ name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter
+ name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='error-code'
+ value='200'/>
+ <parameter
+ name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter
+ name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </outcome>
+ </execute>
+ </method>
+</service-logic>
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-single-SLSComm.json b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-single-SLSComm.json new file mode 100644 index 00000000..a8535d00 --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-single-SLSComm.json @@ -0,0 +1,203 @@ +[ + { + "id": "bd0f1105.ff214", + "type": "method", + "name": "saltstack-adapter-1.0", + "xml": "<method rpc='saltstack-adapter-1.0-exec-single-SLSComm' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 526, + "y": 238, + "z": "c053ae12.4067b", + "wires": [ + [ + "f4e59dd0.ee45f" + ] + ] + }, + { + "id": "26f2a2b8.90f58e", + "type": "service-logic", + "name": "APPC 2.0.1", + "module": "APPC", + "version": "2.0.1", + "comments": "", + "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='2.0.1'>", + "outputs": 1, + "x": 317, + "y": 316, + "z": "c053ae12.4067b", + "wires": [ + [ + "bd0f1105.ff214" + ] + ] + }, + { + "id": "55a7736.2789e8c", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />\n<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />\n", + "comments": "", + "x": 1064, + "y": 453, + "z": "c053ae12.4067b", + "wires": [] + }, + { + "id": "f4e59dd0.ee45f", + "type": "execute", + "name": "execute", + "xml": "<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >\n <parameter name='HostName' value='`$AgentUrl`'/>\n <parameter name='Port' value='`$Port`'/>\n <parameter name='User' value='`$User`'/>\n <parameter name='Password' value='`$Password`'/>\n <parameter name='Id' value='test1'/>\n <parameter name='cmd' value='salt '*' test.ping --out=json --static'/>\n <parameter name='slsExec' value='false'/>\n <parameter name='execTimeout' value='`$Timeout`'/>\n", + "comments": "", + "outputs": 1, + "x": 735, + "y": 240, + "z": "c053ae12.4067b", + "wires": [ + [ + "93fca622.05ad58", + "7ce4a659.44c828" + ] + ] + }, + { + "id": "2ceb37d9.a8ba18", + "type": "switchNode", + "name": "switch", + "xml": "<switch test=\"`$org.onap.appc.adapter.saltstack.result.code`\">\n", + "comments": "", + "outputs": 1, + "x": 522, + "y": 398, + "z": "c053ae12.4067b", + "wires": [ + [ + "cd89356c.279678", + "781026e2.01d498" + ] + ] + }, + { + "id": "cd89356c.279678", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 708, + "y": 456, + "z": "c053ae12.4067b", + "wires": [ + [ + "55a7736.2789e8c" + ] + ] + }, + { + "id": "93fca622.05ad58", + "type": "failure", + "name": "failure", + "xml": "<outcome value='failure'>\n", + "comments": "", + "outputs": 1, + "x": 985, + "y": 237, + "z": "c053ae12.4067b", + "wires": [ + [ + "55a7736.2789e8c" + ] + ] + }, + { + "id": "7ce4a659.44c828", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 332, + "y": 405, + "z": "c053ae12.4067b", + "wires": [ + [ + "2ceb37d9.a8ba18" + ] + ] + }, + { + "id": "781026e2.01d498", + "type": "success", + "name": "success", + "xml": "<outcome value='200'>\n", + "comments": "", + "outputs": 1, + "x": 711, + "y": 398, + "z": "c053ae12.4067b", + "wires": [ + [ + "ce510062.8dcc7" + ] + ] + }, + { + "id": "ce510062.8dcc7", + "type": "returnSuccess", + "name": "return success", + "xml": "<return status='success'>\n<parameter name='output.status.code' value='`$org.openecomp.appc.adapter.ansible.result.code`' />\n<parameter name='output.status.message' value='`$org.openecomp.appc.adapter.ansible.message`'/>\n<parameter name='output.status.results' value = '`$org.openecomp.appc.adapter.ansible.results`'/>\n", + "comments": "", + "x": 893, + "y": 399, + "z": "c053ae12.4067b", + "wires": [] + }, + { + "id": "593bd7fb.675368", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 295, + "y": 216, + "z": "c053ae12.4067b", + "wires": [ + [ + "26f2a2b8.90f58e" + ] + ] + }, + { + "id": "901c8408.5fecb8", + "type": "comment", + "name": "SaltStack Adaptor DG", + "info": "", + "comments": "", + "x": 673, + "y": 103, + "z": "c053ae12.4067b", + "wires": [] + }, + { + "id": "cc449713.a1be88", + "type": "comment", + "name": "request-method = reqExecCommand, req-action = \"execute a single SLS command\"", + "info": "Here we just ping to all the minions, and we dont even check if the minions are active. ", + "comments": "", + "x": 684, + "y": 188, + "z": "c053ae12.4067b", + "wires": [] + }, + { + "id": "c07fa80e.7f3ac8", + "type": "comment", + "name": "Assumptions for this DG (example-server)", + "info": "Here we assume, the saltstack server is the example-vagrant based server. Where, the master saltstact controlls minion1 and minion2. ", + "comments": "", + "x": 676, + "y": 144, + "z": "c053ae12.4067b", + "wires": [] + } +]
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-single-SLSComm.xml b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-single-SLSComm.xml new file mode 100644 index 00000000..57620f58 --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecCommand/APPC_saltstack-adapter-1.0-exec-single-SLSComm.xml @@ -0,0 +1,51 @@ +<service-logic xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd'
+ module='APPC' version='2.0.1'>
+ <method rpc='saltstack-adapter-1.0-exec-single-SLSComm' mode='sync'>
+ <execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter'
+ method='reqExecCommand'>
+ <parameter name='HostName' value='`$AgentUrl`'/>
+ <parameter name='Port' value='`$Port`'/>
+ <parameter name='User' value='`$User`'/>
+ <parameter name='Password' value='`$Password`'/>
+ <parameter name='Id' value='test1'/>
+ <parameter name='cmd'
+ value='salt '*' test.ping --out=json --static'/>
+ <parameter name='slsExec' value='false'/>
+ <parameter name='execTimeout' value='`$Timeout`'/>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='error-code' value='200'/>
+ <parameter name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <switch test="`$org.onap.appc.adapter.saltstack.result.code`">
+ <outcome value='200'>
+ <return status='success'>
+ <parameter name='output.status.code'
+ value='`$org.openecomp.appc.adapter.ansible.result.code`'/>
+ <parameter name='output.status.message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='error-code' value='200'/>
+ <parameter name='error-message'
+ value='`$org.openecomp.appc.adapter.ansible.message`'/>
+ <parameter name='output.status.results'
+ value='`$org.openecomp.appc.adapter.ansible.results`'/>
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ </execute>
+ </method>
+</service-logic>
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLS/APPC_saltstack-adapter-1.0 IDEAL.json b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLS/APPC_saltstack-adapter-1.0 IDEAL.json new file mode 100644 index 00000000..875c6faa --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLS/APPC_saltstack-adapter-1.0 IDEAL.json @@ -0,0 +1 @@ +[{"id":"b9234075.7e20b","type":"method","name":"saltstack-adapter-1.0","xml":"<method rpc='saltstack-adapter-1.0' mode='sync'>\n","comments":"","outputs":1,"x":589,"y":221,"z":"8c500c8b.91561","wires":[["a9f084e0.590cc8"]]},{"id":"159aca46.2fdf66","type":"service-logic","name":"APPC 2.0.1","module":"APPC","version":"2.0.1","comments":"","xml":"<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='2.0.1'>","outputs":1,"x":366,"y":220,"z":"8c500c8b.91561","wires":[["b9234075.7e20b"]]},{"id":"f809843e.12d3b8","type":"returnSuccess","name":"return success","xml":"<return status='success'>\n<parameter name='output.status.code' value='`$org.openecomp.appc.adapter.ansible.result.code`' />\n<parameter name='output.status.message' value='`$org.openecomp.appc.adapter.ansible.message`'/>\n<parameter name='output.status.results' value = '`$org.openecomp.appc.adapter.ansible.results`'/>\n","comments":"","x":968,"y":313,"z":"8c500c8b.91561","wires":[]},{"id":"cad8db4d.3d8978","type":"dgstart","name":"DGSTART","outputs":1,"x":197,"y":219,"z":"8c500c8b.91561","wires":[["159aca46.2fdf66"]]},{"id":"96da3695.f3ade8","type":"comment","name":"SaltStack Adaptor DG","info":"","comments":"","x":574,"y":98,"z":"8c500c8b.91561","wires":[]},{"id":"f3c2409c.90b75","type":"comment","name":"request-method = reqExecSLS, req-action = \"execute SLS\"","info":"This would be the ideal adaptor the orchestrator DG will call, this just takes in slsName.","comments":"","x":585,"y":183,"z":"8c500c8b.91561","wires":[]},{"id":"206ad453.90dcdc","type":"comment","name":"Assumptions for this DG (example-server)","info":"Here we assume, the saltstack server is the example-vagrant based server. Where, the master saltstact controllers minion1 and minion2. ","comments":"","x":577,"y":139,"z":"8c500c8b.91561","wires":[]},{"id":"a9f084e0.590cc8","type":"execute","name":"execute","xml":"<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >\n <parameter name='HostName' value='`$AgentUrl`'/>\n <parameter name='Port' value='`$Port`'/>\n <parameter name='User' value='`$User`'/>\n <parameter name='Password' value='`$Password`'/>\n <parameter name='Id' value='test2'/>\n <parameter name='slsName' value='test-file.sls'/>\n","comments":"","outputs":1,"x":279,"y":350,"z":"8c500c8b.91561","wires":[["953d6f9.633bc9","2b0177ad.6a0c88"]]},{"id":"953d6f9.633bc9","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":472,"y":311,"z":"8c500c8b.91561","wires":[["56ac40b9.ab7d9"]]},{"id":"2b0177ad.6a0c88","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":470,"y":383,"z":"8c500c8b.91561","wires":[["245f2c0b.5f8894"]]},{"id":"245f2c0b.5f8894","type":"switchNode","name":"switch","xml":"<switch test=\"`$org.onap.appc.adapter.saltstack.result.code`\">\n","comments":"","outputs":1,"x":622,"y":371,"z":"8c500c8b.91561","wires":[["9cb78c41.7c1fc","a2c5d59b.172848"]]},{"id":"a2c5d59b.172848","type":"success","name":"success","xml":"<outcome value='200'>\n","comments":"","outputs":1,"x":785,"y":317,"z":"8c500c8b.91561","wires":[["f809843e.12d3b8"]]},{"id":"9cb78c41.7c1fc","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":782,"y":386,"z":"8c500c8b.91561","wires":[["2ca5c925.6ee136"]]},{"id":"56ac40b9.ab7d9","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />\n<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />\n","comments":"","x":632,"y":295,"z":"8c500c8b.91561","wires":[]},{"id":"2ca5c925.6ee136","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />\n<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />\n","comments":"","x":952,"y":383,"z":"8c500c8b.91561","wires":[]}]
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLS/APPC_saltstack-adapter-1.0 IDEAL.xml b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLS/APPC_saltstack-adapter-1.0 IDEAL.xml new file mode 100644 index 00000000..8a237f3f --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLS/APPC_saltstack-adapter-1.0 IDEAL.xml @@ -0,0 +1,26 @@ +<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='2.0.1'><method rpc='saltstack-adapter-1.0' mode='sync'>
+<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >
+ <parameter name='HostName' value='`$AgentUrl`'/>
+ <parameter name='Port' value='`$Port`'/>
+ <parameter name='User' value='`$User`'/>
+ <parameter name='Password' value='`$Password`'/>
+ <parameter name='Id' value='test2'/>
+ <parameter name='slsName' value='test-file.sls'/>
+<outcome value='failure'>
+<return status='failure'>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />
+<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />
+</return></outcome><outcome value='Other'>
+<switch test="`$org.onap.appc.adapter.saltstack.result.code`">
+<outcome value='200'>
+<return status='success'>
+<parameter name='output.status.code' value='`$org.openecomp.appc.adapter.ansible.result.code`' />
+<parameter name='output.status.message' value='`$org.openecomp.appc.adapter.ansible.message`'/>
+<parameter name='output.status.results' value = '`$org.openecomp.appc.adapter.ansible.results`'/>
+</return></outcome><outcome value='Other'>
+<return status='failure'>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />
+<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />
+</return></outcome></switch></outcome></execute></method></service-logic>
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLS/APPC_saltstack-adapter-1.0-exec-SLS-applyTo.json b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLS/APPC_saltstack-adapter-1.0-exec-SLS-applyTo.json new file mode 100644 index 00000000..f8c6a015 --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLS/APPC_saltstack-adapter-1.0-exec-SLS-applyTo.json @@ -0,0 +1 @@ +[{"id":"edb39979.b1ccd8","type":"method","name":"saltstack-adapter-1.0","xml":"<method rpc='saltstack-adapter-1.0-exec-SLS-applyTo' mode='sync'>\n","comments":"","outputs":1,"x":476,"y":245,"z":"671ca899.284f68","wires":[["95c9ba42.6e4aa8"]]},{"id":"a16ea11e.f8d1c","type":"service-logic","name":"APPC 2.0.1","module":"APPC","version":"2.0.1","comments":"","xml":"<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='2.0.1'>","outputs":1,"x":267,"y":323,"z":"671ca899.284f68","wires":[["edb39979.b1ccd8"]]},{"id":"1591f92e.029ca7","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />\n<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />\n","comments":"","x":1191,"y":315,"z":"671ca899.284f68","wires":[]},{"id":"95c9ba42.6e4aa8","type":"execute","name":"execute","xml":"<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >\n <parameter name='HostName' value='`$AgentUrl`'/>\n <parameter name='Port' value='`$Port`'/>\n <parameter name='User' value='`$User`'/>\n <parameter name='Password' value='`$Password`'/>\n <parameter name='Id' value='test1'/>\n <parameter name='cmd' value='salt '*' test.ping --out=json --static'/>\n <parameter name='slsExec' value='false'/>\n <parameter name='execTimeout' value='`$Timeout`'/>\n","comments":"","outputs":1,"x":684,"y":251,"z":"671ca899.284f68","wires":[["cd0c458a.2430b8","69e531e3.4efc3"]]},{"id":"38b44d70.9c85d2","type":"switchNode","name":"switch","xml":"<switch test=\"`$org.onap.appc.adapter.saltstack.result.code`\">\n","comments":"","outputs":1,"x":472,"y":405,"z":"671ca899.284f68","wires":[["505df598.069b9c","5d7292e.22ec06c"]]},{"id":"505df598.069b9c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":658,"y":463,"z":"671ca899.284f68","wires":[["1591f92e.029ca7"]]},{"id":"cd0c458a.2430b8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":935,"y":244,"z":"671ca899.284f68","wires":[["1591f92e.029ca7"]]},{"id":"69e531e3.4efc3","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":282,"y":412,"z":"671ca899.284f68","wires":[["38b44d70.9c85d2"]]},{"id":"5d7292e.22ec06c","type":"success","name":"success","xml":"<outcome value='200'>\n","comments":"","outputs":1,"x":661,"y":405,"z":"671ca899.284f68","wires":[["c9df0cea.f2361"]]},{"id":"e4f7eb59.0abb58","type":"returnSuccess","name":"return success","xml":"<return status='success'>\n<parameter name='output.status.code' value='`$org.openecomp.appc.adapter.ansible.result.code`' />\n<parameter name='output.status.message' value='`$org.openecomp.appc.adapter.ansible.message`'/>\n<parameter name='output.status.results' value = '`$org.openecomp.appc.adapter.ansible.results`'/>\n","comments":"","x":1079,"y":564,"z":"671ca899.284f68","wires":[]},{"id":"8e586da4.570f1","type":"dgstart","name":"DGSTART","outputs":1,"x":245,"y":223,"z":"671ca899.284f68","wires":[["a16ea11e.f8d1c"]]},{"id":"71387074.137c1","type":"comment","name":"SaltStack Adaptor DG","info":"","comments":"","x":623,"y":110,"z":"671ca899.284f68","wires":[]},{"id":"c5e8c62d.021758","type":"comment","name":"request-method = reqExecSLS, req-action = \"execute SLS\"","info":"Here we basically test if minion1 is active by pinging to it, then respective sls file is executed on to it. \n","comments":"","x":634,"y":195,"z":"671ca899.284f68","wires":[]},{"id":"1805797.a241487","type":"comment","name":"Assumptions for this DG (example-server)","info":"Here we assume, the saltstack server is the example-vagrant based server. Where, the master saltstact controllers minion1 and minion2. ","comments":"","x":626,"y":151,"z":"671ca899.284f68","wires":[]},{"id":"c9df0cea.f2361","type":"switchNode","name":"switch","xml":"<switch test=\"`$test1.minion1`\">\n","comments":"","outputs":1,"x":825,"y":405,"z":"671ca899.284f68","wires":[["d83d6024.2454d","f4d70bbc.f0bc38"]]},{"id":"d83d6024.2454d","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":991,"y":459,"z":"671ca899.284f68","wires":[["1591f92e.029ca7"]]},{"id":"f4d70bbc.f0bc38","type":"other","name":"outcome","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":994,"y":401,"z":"671ca899.284f68","wires":[["e86d9995.b65c58"]]},{"id":"e86d9995.b65c58","type":"execute","name":"execute","xml":"<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >\n <parameter name='HostName' value='`$AgentUrl`'/>\n <parameter name='Port' value='`$Port`'/>\n <parameter name='User' value='`$User`'/>\n <parameter name='Password' value='`$Password`'/>\n <parameter name='Id' value='test2'/>\n <parameter name='slsName' value='test-file.sls'/>\n <parameter name='applyTo' value='minion1'/>\n <parameter name='execTimeout' value='`$Timeout`'/>\n","comments":"","outputs":1,"x":398,"y":593,"z":"671ca899.284f68","wires":[["89ff1c2a.08f52","e20c4c85.43d3c"]]},{"id":"89ff1c2a.08f52","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":583,"y":562,"z":"671ca899.284f68","wires":[["6032e33e.5b044c"]]},{"id":"e20c4c85.43d3c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":581,"y":634,"z":"671ca899.284f68","wires":[["8bb4c177.499c8"]]},{"id":"8bb4c177.499c8","type":"switchNode","name":"switch","xml":"<switch test=\"`$org.onap.appc.adapter.saltstack.result.code`\">\n","comments":"","outputs":1,"x":733,"y":622,"z":"671ca899.284f68","wires":[["905334fe.934d68","9c217c10.9d539"]]},{"id":"9c217c10.9d539","type":"success","name":"success","xml":"<outcome value='200'>\n","comments":"","outputs":1,"x":896,"y":568,"z":"671ca899.284f68","wires":[["e4f7eb59.0abb58"]]},{"id":"905334fe.934d68","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":893,"y":637,"z":"671ca899.284f68","wires":[["7026a88c.5bffd8"]]},{"id":"6032e33e.5b044c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />\n<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />\n","comments":"","x":735,"y":559,"z":"671ca899.284f68","wires":[]},{"id":"7026a88c.5bffd8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />\n<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />\n","comments":"","x":1054,"y":637,"z":"671ca899.284f68","wires":[]}]
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLS/APPC_saltstack-adapter-1.0-exec-SLS-applyTo.xml b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLS/APPC_saltstack-adapter-1.0-exec-SLS-applyTo.xml new file mode 100644 index 00000000..a8262885 --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLS/APPC_saltstack-adapter-1.0-exec-SLS-applyTo.xml @@ -0,0 +1,57 @@ +<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='2.0.1'><method rpc='saltstack-adapter-1.0-exec-SLS-applyTo' mode='sync'>
+<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >
+ <parameter name='HostName' value='`$AgentUrl`'/>
+ <parameter name='Port' value='`$Port`'/>
+ <parameter name='User' value='`$User`'/>
+ <parameter name='Password' value='`$Password`'/>
+ <parameter name='Id' value='test1'/>
+ <parameter name='cmd' value='salt '*' test.ping --out=json --static'/>
+ <parameter name='slsExec' value='false'/>
+ <parameter name='execTimeout' value='`$Timeout`'/>
+<outcome value='failure'>
+<return status='failure'>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />
+<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />
+</return></outcome><outcome value='Other'>
+<switch test="`$org.onap.appc.adapter.saltstack.result.code`">
+<outcome value='200'>
+<switch test="`$test1.minion1`">
+<outcome value='true'>
+<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >
+ <parameter name='HostName' value='`$AgentUrl`'/>
+ <parameter name='Port' value='`$Port`'/>
+ <parameter name='User' value='`$User`'/>
+ <parameter name='Password' value='`$Password`'/>
+ <parameter name='Id' value='test2'/>
+ <parameter name='slsName' value='test-file.sls'/>
+ <parameter name='applyTo' value='minion1'/>
+ <parameter name='execTimeout' value='`$Timeout`'/>
+<outcome value='failure'>
+<return status='failure'>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />
+<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />
+</return></outcome><outcome value='Other'>
+<switch test="`$org.onap.appc.adapter.saltstack.result.code`">
+<outcome value='200'>
+<return status='success'>
+<parameter name='output.status.code' value='`$org.openecomp.appc.adapter.ansible.result.code`' />
+<parameter name='output.status.message' value='`$org.openecomp.appc.adapter.ansible.message`'/>
+<parameter name='output.status.results' value = '`$org.openecomp.appc.adapter.ansible.results`'/>
+</return></outcome><outcome value='Other'>
+<return status='failure'>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />
+<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />
+</return></outcome></switch></outcome></execute></outcome><outcome value='Other'>
+<return status='failure'>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />
+<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />
+</return></outcome></switch></outcome><outcome value='Other'>
+<return status='failure'>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />
+<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />
+</return></outcome></switch></outcome></execute></method></service-logic>
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLSFile/APPC_saltstack-adapter-1.0-SLSFILE.json b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLSFile/APPC_saltstack-adapter-1.0-SLSFILE.json new file mode 100644 index 00000000..a4ec6f1b --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLSFile/APPC_saltstack-adapter-1.0-SLSFILE.json @@ -0,0 +1 @@ +[{"id":"3228200a.5dc1a","type":"method","name":"saltstack-adapter-1.0","xml":"<method rpc='saltstack-adapter-1.0-SLSFILE' mode='sync'>\n","comments":"","outputs":1,"x":679,"y":282,"z":"6d4f912d.f07bc","wires":[["50b2729f.712eac"]]},{"id":"9fb54163.4fb28","type":"service-logic","name":"APPC 2.0.1","module":"APPC","version":"2.0.1","comments":"","xml":"<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='2.0.1'>","outputs":1,"x":456,"y":281,"z":"6d4f912d.f07bc","wires":[["3228200a.5dc1a"]]},{"id":"49109fbc.a7a14","type":"returnSuccess","name":"return success","xml":"<return status='success'>\n<parameter name='output.status.code' value='`$org.openecomp.appc.adapter.ansible.result.code`' />\n<parameter name='output.status.message' value='`$org.openecomp.appc.adapter.ansible.message`'/>\n<parameter name='output.status.results' value = '`$org.openecomp.appc.adapter.ansible.results`'/>\n","comments":"","x":1058,"y":374,"z":"6d4f912d.f07bc","wires":[]},{"id":"d030a396.56232","type":"dgstart","name":"DGSTART","outputs":1,"x":287,"y":280,"z":"6d4f912d.f07bc","wires":[["9fb54163.4fb28"]]},{"id":"281900c4.fd3e8","type":"comment","name":"SaltStack Adaptor DG","info":"","comments":"","x":664,"y":159,"z":"6d4f912d.f07bc","wires":[]},{"id":"431a69db.2d2c58","type":"comment","name":"request-method = reqExecSLS, req-action = \"execute SLS\"","info":"This would be the ideal adaptor the orchestrator DG will call, this just takes in slsName.","comments":"","x":675,"y":244,"z":"6d4f912d.f07bc","wires":[]},{"id":"4202e1ce.09495","type":"comment","name":"Assumptions for this DG (example-server)","info":"Here we assume, the saltstack server is the example-vagrant based server. Where, the master saltstact controllers minion1 and minion2. ","comments":"","x":667,"y":200,"z":"6d4f912d.f07bc","wires":[]},{"id":"50b2729f.712eac","type":"execute","name":"execute","xml":"<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >\n <parameter name='HostName' value='`$AgentUrl`'/>\n <parameter name='Port' value='`$Port`'/>\n <parameter name='User' value='`$User`'/>\n <parameter name='Password' value='`$Password`'/>\n <parameter name='Id' value='test2'/>\n <parameter name='slsFile' value='file/location/test-file.sls'/>\n","comments":"","outputs":1,"x":369,"y":411,"z":"6d4f912d.f07bc","wires":[["71746570.35f0dc","3e4f7a4a.ae0dc6"]]},{"id":"71746570.35f0dc","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":562,"y":372,"z":"6d4f912d.f07bc","wires":[["e59a1a81.112a08"]]},{"id":"3e4f7a4a.ae0dc6","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":560,"y":444,"z":"6d4f912d.f07bc","wires":[["59e320fa.12908"]]},{"id":"59e320fa.12908","type":"switchNode","name":"switch","xml":"<switch test=\"`$org.onap.appc.adapter.saltstack.result.code`\">\n","comments":"","outputs":1,"x":712,"y":432,"z":"6d4f912d.f07bc","wires":[["f81ed07.2135c3","eb55b5a9.f0d2f8"]]},{"id":"eb55b5a9.f0d2f8","type":"success","name":"success","xml":"<outcome value='200'>\n","comments":"","outputs":1,"x":875,"y":378,"z":"6d4f912d.f07bc","wires":[["49109fbc.a7a14"]]},{"id":"f81ed07.2135c3","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":872,"y":447,"z":"6d4f912d.f07bc","wires":[["6549631f.8e516c"]]},{"id":"e59a1a81.112a08","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />\n<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />\n","comments":"","x":722,"y":356,"z":"6d4f912d.f07bc","wires":[]},{"id":"6549631f.8e516c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />\n<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />\n","comments":"","x":1042,"y":444,"z":"6d4f912d.f07bc","wires":[]}]
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLSFile/APPC_saltstack-adapter-1.0-SLSFILE.xml b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLSFile/APPC_saltstack-adapter-1.0-SLSFILE.xml new file mode 100644 index 00000000..bd3325b3 --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLSFile/APPC_saltstack-adapter-1.0-SLSFILE.xml @@ -0,0 +1,26 @@ +<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='2.0.1'><method rpc='saltstack-adapter-1.0-SLSFILE' mode='sync'>
+<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >
+ <parameter name='HostName' value='`$AgentUrl`'/>
+ <parameter name='Port' value='`$Port`'/>
+ <parameter name='User' value='`$User`'/>
+ <parameter name='Password' value='`$Password`'/>
+ <parameter name='Id' value='test2'/>
+ <parameter name='slsFile' value='file/location/test-file.sls'/>
+<outcome value='failure'>
+<return status='failure'>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />
+<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />
+</return></outcome><outcome value='Other'>
+<switch test="`$org.onap.appc.adapter.saltstack.result.code`">
+<outcome value='200'>
+<return status='success'>
+<parameter name='output.status.code' value='`$org.openecomp.appc.adapter.ansible.result.code`' />
+<parameter name='output.status.message' value='`$org.openecomp.appc.adapter.ansible.message`'/>
+<parameter name='output.status.results' value = '`$org.openecomp.appc.adapter.ansible.results`'/>
+</return></outcome><outcome value='Other'>
+<return status='failure'>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />
+<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />
+</return></outcome></switch></outcome></execute></method></service-logic>
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLSFile/APPC_saltstack-adapter-1.0-exec-SLSFile-applyTo.json b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLSFile/APPC_saltstack-adapter-1.0-exec-SLSFile-applyTo.json new file mode 100644 index 00000000..de4f0fbb --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLSFile/APPC_saltstack-adapter-1.0-exec-SLSFile-applyTo.json @@ -0,0 +1 @@ +[{"id":"9a6bf94f.d969f8","type":"method","name":"saltstack-adapter-1.0","xml":"<method rpc='saltstack-adapter-1.0-exec-SLSFile-applyTo' mode='sync'>\n","comments":"","outputs":1,"x":498,"y":240,"z":"723548c7.652d78","wires":[["138ad7ed.403248"]]},{"id":"4bb87049.3f546","type":"service-logic","name":"APPC 2.0.1","module":"APPC","version":"2.0.1","comments":"","xml":"<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='2.0.1'>","outputs":1,"x":289,"y":318,"z":"723548c7.652d78","wires":[["9a6bf94f.d969f8"]]},{"id":"6c593992.106038","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />\n<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />\n","comments":"","x":1202,"y":280,"z":"723548c7.652d78","wires":[]},{"id":"138ad7ed.403248","type":"execute","name":"execute","xml":"<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >\n <parameter name='HostName' value='`$AgentUrl`'/>\n <parameter name='Port' value='`$Port`'/>\n <parameter name='User' value='`$User`'/>\n <parameter name='Password' value='`$Password`'/>\n <parameter name='Id' value='test1'/>\n <parameter name='cmd' value='salt '*' test.ping --out=json --static'/>\n <parameter name='slsExec' value='false'/>\n <parameter name='execTimeout' value='`$Timeout`'/>\n","comments":"","outputs":1,"x":706,"y":246,"z":"723548c7.652d78","wires":[["167273ed.f0577c","954a34ea.701368"]]},{"id":"d5841e65.537ba","type":"switchNode","name":"switch","xml":"<switch test=\"`$org.onap.appc.adapter.saltstack.result.code`\">\n","comments":"","outputs":1,"x":494,"y":400,"z":"723548c7.652d78","wires":[["ede42371.2f52b","d306d7a0.c830e8"]]},{"id":"ede42371.2f52b","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":680,"y":458,"z":"723548c7.652d78","wires":[["6c593992.106038"]]},{"id":"167273ed.f0577c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":957,"y":239,"z":"723548c7.652d78","wires":[["6c593992.106038"]]},{"id":"954a34ea.701368","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":304,"y":407,"z":"723548c7.652d78","wires":[["d5841e65.537ba"]]},{"id":"d306d7a0.c830e8","type":"success","name":"success","xml":"<outcome value='200'>\n","comments":"","outputs":1,"x":683,"y":400,"z":"723548c7.652d78","wires":[["5b12ba31.94b3b4"]]},{"id":"9ef7fcc3.69279","type":"returnSuccess","name":"return success","xml":"<return status='success'>\n<parameter name='output.status.code' value='`$org.openecomp.appc.adapter.ansible.result.code`' />\n<parameter name='output.status.message' value='`$org.openecomp.appc.adapter.ansible.message`'/>\n<parameter name='output.status.results' value = '`$org.openecomp.appc.adapter.ansible.results`'/>\n","comments":"","x":1101,"y":559,"z":"723548c7.652d78","wires":[]},{"id":"7803eeaf.1e31d","type":"dgstart","name":"DGSTART","outputs":1,"x":267,"y":218,"z":"723548c7.652d78","wires":[["4bb87049.3f546"]]},{"id":"9c6f1e7c.2a3d9","type":"comment","name":"SaltStack Adaptor DG","info":"","comments":"","x":645,"y":105,"z":"723548c7.652d78","wires":[]},{"id":"93ea02a5.4e792","type":"comment","name":"request-method = reqExecSLS, req-action = \"execute SLS FILE\"","info":"Here we basically test if minion1 is active by pinging to it, then respective sls file is executed on to it. \n","comments":"","x":656,"y":190,"z":"723548c7.652d78","wires":[]},{"id":"243edbf.f35fc24","type":"comment","name":"Assumptions for this DG (example-server)","info":"Here we assume, the saltstack server is the example-vagrant based server. Where, the master saltstact controllers minion1 and minion2. ","comments":"","x":648,"y":146,"z":"723548c7.652d78","wires":[]},{"id":"5b12ba31.94b3b4","type":"switchNode","name":"switch","xml":"<switch test=\"`$test1.minion1`\">\n","comments":"","outputs":1,"x":847,"y":400,"z":"723548c7.652d78","wires":[["9bf0915.96f217","f6e533d.95d99d"]]},{"id":"9bf0915.96f217","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1013,"y":454,"z":"723548c7.652d78","wires":[["6c593992.106038"]]},{"id":"f6e533d.95d99d","type":"other","name":"outcome","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1016,"y":396,"z":"723548c7.652d78","wires":[["eb57ba41.1d7328"]]},{"id":"eb57ba41.1d7328","type":"execute","name":"execute","xml":"<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >\n <parameter name='HostName' value='`$AgentUrl`'/>\n <parameter name='Port' value='`$Port`'/>\n <parameter name='User' value='`$User`'/>\n <parameter name='Password' value='`$Password`'/>\n <parameter name='Id' value='test2'/>\n <parameter name='slsFile' value='file/location/test.sls'/>\n <parameter name='applyTo' value='minion1'/>\n <parameter name='execTimeout' value='`$Timeout`'/>\n","comments":"","outputs":1,"x":420,"y":588,"z":"723548c7.652d78","wires":[["892a8f1d.7d77f","74be8a6e.975f24"]]},{"id":"892a8f1d.7d77f","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":605,"y":557,"z":"723548c7.652d78","wires":[["8c091fe.c6cbfe"]]},{"id":"74be8a6e.975f24","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":603,"y":629,"z":"723548c7.652d78","wires":[["3875d695.fd37ca"]]},{"id":"3875d695.fd37ca","type":"switchNode","name":"switch","xml":"<switch test=\"`$org.onap.appc.adapter.saltstack.result.code`\">\n","comments":"","outputs":1,"x":755,"y":617,"z":"723548c7.652d78","wires":[["2e60af80.ea3a6","24ed6dd2.6624c2"]]},{"id":"24ed6dd2.6624c2","type":"success","name":"success","xml":"<outcome value='200'>\n","comments":"","outputs":1,"x":918,"y":563,"z":"723548c7.652d78","wires":[["9ef7fcc3.69279"]]},{"id":"2e60af80.ea3a6","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":915,"y":632,"z":"723548c7.652d78","wires":[["2e4414a7.ba6d4c"]]},{"id":"8c091fe.c6cbfe","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />\n<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />\n","comments":"","x":757,"y":554,"z":"723548c7.652d78","wires":[]},{"id":"2e4414a7.ba6d4c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />\n<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />\n","comments":"","x":1076,"y":632,"z":"723548c7.652d78","wires":[]}]
\ No newline at end of file diff --git a/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLSFile/APPC_saltstack-adapter-1.0-exec-SLSFile-applyTo.xml b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLSFile/APPC_saltstack-adapter-1.0-exec-SLSFile-applyTo.xml new file mode 100644 index 00000000..314cd345 --- /dev/null +++ b/saltstack-adapter/saltstack-directed-graphs-sample/reqExecSLSFile/APPC_saltstack-adapter-1.0-exec-SLSFile-applyTo.xml @@ -0,0 +1,57 @@ +<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='2.0.1'><method rpc='saltstack-adapter-1.0-exec-SLSFile-applyTo' mode='sync'>
+<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >
+ <parameter name='HostName' value='`$AgentUrl`'/>
+ <parameter name='Port' value='`$Port`'/>
+ <parameter name='User' value='`$User`'/>
+ <parameter name='Password' value='`$Password`'/>
+ <parameter name='Id' value='test1'/>
+ <parameter name='cmd' value='salt '*' test.ping --out=json --static'/>
+ <parameter name='slsExec' value='false'/>
+ <parameter name='execTimeout' value='`$Timeout`'/>
+<outcome value='failure'>
+<return status='failure'>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />
+<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />
+</return></outcome><outcome value='Other'>
+<switch test="`$org.onap.appc.adapter.saltstack.result.code`">
+<outcome value='200'>
+<switch test="`$test1.minion1`">
+<outcome value='true'>
+<execute plugin='org.openecomp.appc.adapter.ansible.AnsibleAdapter' method='reqExecCommand' >
+ <parameter name='HostName' value='`$AgentUrl`'/>
+ <parameter name='Port' value='`$Port`'/>
+ <parameter name='User' value='`$User`'/>
+ <parameter name='Password' value='`$Password`'/>
+ <parameter name='Id' value='test2'/>
+ <parameter name='slsFile' value='file/location/test.sls'/>
+ <parameter name='applyTo' value='minion1'/>
+ <parameter name='execTimeout' value='`$Timeout`'/>
+<outcome value='failure'>
+<return status='failure'>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />
+<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />
+</return></outcome><outcome value='Other'>
+<switch test="`$org.onap.appc.adapter.saltstack.result.code`">
+<outcome value='200'>
+<return status='success'>
+<parameter name='output.status.code' value='`$org.openecomp.appc.adapter.ansible.result.code`' />
+<parameter name='output.status.message' value='`$org.openecomp.appc.adapter.ansible.message`'/>
+<parameter name='output.status.results' value = '`$org.openecomp.appc.adapter.ansible.results`'/>
+</return></outcome><outcome value='Other'>
+<return status='failure'>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />
+<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />
+</return></outcome></switch></outcome></execute></outcome><outcome value='Other'>
+<return status='failure'>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />
+<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />
+</return></outcome></switch></outcome><outcome value='Other'>
+<return status='failure'>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='`$org.openecomp.appc.adapter.ansible.message`' />
+<parameter name='output.status.results' value='`$org.openecomp.appc.adapter.ansible.results`' />
+</return></outcome></switch></outcome></execute></method></service-logic>
\ No newline at end of file |