Fix missing payload for DGs and Playbooks of SW upgrade
[sdnc/oam.git] / platform-logic / lcm / src / main / xml / LCM_upgrade-software.xml
index e3ce5af..af0ee71 100644 (file)
                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/lcm-dg.properties' />\r
                 <parameter name='contextPrefix' value='prop' />\r
             </execute>\r
+            <set>\r
+                <parameter name='status.code' value='200' />\r
+                <parameter name='status.message' value='unexpected return from DG' />\r
+                <parameter name='quote' value="'" />\r
+                <parameter name='outputPayloadField' value='.Output' />\r
+            </set>\r
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>\r
+                <parameter name='source' value='upgrade-software-input.payload' />\r
+                <parameter name='outputPath' value='payloadJson' />\r
+                <parameter name='isEscaped' value='true' />\r
+            </execute>\r
+            <switch test='`$payloadJson.pnf-flag`'>\r
+                <outcome value='true'>\r
+                    <set>\r
+                        <parameter name='nodelist' value="`'[' + $quote + $payloadJson.ipaddress-v4-oam +  $quote + ']'`"/>\r
+                        <parameter name='playbookname' value='`$prop.lcm.pnf.upgrade-software.playbookname`'/>\r
+                        <parameter name='outputPayloadField' value="`'.' + $payloadJson.ipaddress-v4-oam + '.Output'`"/>\r
+                    </set>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <block>\r
+                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
+                            <parameter name='outputPath' value='playbookname' />\r
+                            <parameter name='source' value="`'prop.lcm.' + $payloadJson.nf-naming-code + '.upgrade-software.playbookname'`" />\r
+                        </execute>\r
+                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+       resource="generic-vnf" \r
+               key="generic-vnf.vnf-id = $upgrade-software-input.action-identifiers.vnf-id" \r
+               local-only="false" \r
+               pfx='aai.generic-vnf'>\r
+                            <outcome value='success'>\r
+                                <block>\r
+                                    <switch test='`$playbookname`'>\r
+                                        <outcome value=''>\r
+                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
+                                                <parameter name='outputPath' value='playbookname' />\r
+                                                <parameter name='source' value="`'prop.lcm.' + $aai.generic-vnf.nf-naming-code + '.upgrade-software.playbookname'`" />\r
+                                            </execute>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                    <set>\r
+                                        <parameter name='nodelist' value="`'[' + $quote + $aai.generic-vnf.ipv4-oam-address +  $quote + ']'`"/>\r
+                                    </set>\r
+                                </block>\r
+                            </outcome>\r
+                        </get-resource>\r
+                    </block>\r
+                </outcome>\r
+            </switch>\r
+            <switch test='`$playbookname`'>\r
+                <outcome value=''>\r
+                    <set>\r
+                        <parameter name='playbookname' value='`$prop.lcm.upgrade-software.playbookname`'/>\r
+                    </set>\r
+                </outcome>\r
+            </switch>\r
+            <switch test='`$nodelist`'>\r
+                <outcome value=''>\r
+                    <set>\r
+                        <parameter name='nodelist' value="`$prop.ansible.nodelist`"/>\r
+                    </set>\r
+                </outcome>\r
+                <outcome value="['']">\r
+                    <set>\r
+                        <parameter name='nodelist' value="`$prop.ansible.nodelist`"/>\r
+                    </set>\r
+                </outcome>\r
+            </switch>\r
+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                <parameter name="logger" value="message-log"/>\r
+                <parameter name="field1" value='`$playbookname`'/>\r
+                <parameter name="field2" value='`$nodelist`'/>\r
+            </record>\r
             <execute plugin='org.onap.ccsdk.sli.adaptors.ansible.AnsibleAdapter' method='reqExec' >\r
                 <parameter name='AgentUrl' value='`$prop.ansible.agenturl`'/>\r
                 <parameter name='User' value='`$prop.ansible.user`'/>\r
-                <parameter name='Password' value='`prop.ansible.password`'/>\r
+                <parameter name='Password' value='`$prop.ansible.password`'/>\r
                 <parameter name='LocalParameters' value='`$prop.ansible.lcm.localparameters`'/>\r
                 <parameter name='EnvParameters' value='`$upgrade-software-input.payload`'/>\r
-                <parameter name='NodeList' value='`$prop.ansible.nodelist`'/>\r
+                <parameter name='NodeList' value="`$nodelist`"/>\r
                 <parameter name='Timeout' value='`$prop.ansible.timeout`'/>\r
                 <parameter name='Version' value='`$prop.ansible.version`'/>\r
                 <parameter name='Id' value='`$upgrade-software-input.common-header.request-id`'/>\r
-                <parameter name='PlaybookName' value='`$prop.lcm.upgrade-software.playbookname`'/>\r
+                <parameter name='PlaybookName' value='`$playbookname`'/>\r
                 <outcome value='not-found'>\r
                     <block>\r
                         <set>\r
-                            <parameter name='$org.onap.ccsdk.sli.adaptors.ansible.result.code' value='200'/>\r
-                            <parameter name='org.onap.ccsdk.sli.adaptors.ansible.message' value='Ansible Adapter was not found'/>\r
+                            <parameter name='org.onap.appc.adapter.ansible.result.code' value='401'/>\r
+                            <parameter name='org.onap.appc.adapter.ansible.message' value='Ansible Adapter was not found'/>\r
                         </set>\r
                         <block>\r
                             <set>\r
                                 <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
-                                <parameter name='lcm-dmaap.correlation-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
+                                <parameter name='lcm-dmaap.correlation-id' value="`$upgrade-software-input.common-header.request-id + '-' + $upgrade-software-input.common-header.sub-request-id`"/>\r
                                 <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
                                 <parameter name='lcm-dmaap.rpc-name' value='upgrade-software'/>\r
                                 <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
                                 <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
                                 <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
                                 <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
-                                <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.request-id`'/>\r
                                 <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
                                 <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
                                 <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
                                 <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
-                                <parameter name='lcm-dmaap.payload' value='`$org.onap.appc.adapter.ansible.results`'/>\r
-                                <parameter name='lcm-dmaap.status.code' value='`$org.onap.ccsdk.sli.adaptors.ansible.result.code`' />\r
-                                <parameter name='lcm-dmaap.status.message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`'/>\r
+                                <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
+                                <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
                             </set>\r
                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
                                 </outcome>\r
                             </execute>\r
                             <return status='failure'>\r
-                                <parameter name='error-code' value='200' />\r
-                                <parameter name='error-message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`' />\r
+                                <parameter name='status.code' value='401' />\r
+                                <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
                             </return>\r
                         </block>\r
                     </block>\r
                     <block>\r
                         <set>\r
                             <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
-                            <parameter name='lcm-dmaap.correlation-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
+                            <parameter name='lcm-dmaap.correlation-id' value="`$upgrade-software-input.common-header.request-id + '-' + $upgrade-software-input.common-header.sub-request-id`"/>\r
                             <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
                             <parameter name='lcm-dmaap.rpc-name' value='upgrade-software'/>\r
                             <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
                             <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
                             <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
                             <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
-                            <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                            <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.request-id`'/>\r
                             <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
                             <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
                             <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
                             <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
-                            <parameter name='lcm-dmaap.payload' value='`$org.onap.appc.adapter.ansible.results`'/>\r
-                            <parameter name='lcm-dmaap.status.code' value='`$org.onap.ccsdk.sli.adaptors.ansible.result.code`' />\r
-                            <parameter name='lcm-dmaap.status.message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`'/>\r
+                            <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
+                            <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
                         </set>\r
                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
                             </outcome>\r
                         </execute>\r
                         <return status='failure'>\r
-                            <parameter name='error-code' value='200' />\r
-                            <parameter name='error-message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`' />\r
+                            <parameter name='status.code' value='401' />\r
+                            <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
                         </return>\r
                     </block>\r
                 </outcome>\r
                 <outcome value='Other'>\r
-                    <switch test="`$org.onap.ccsdk.sli.adaptors.ansible.result.code`">\r
+                    <switch test="`$org.onap.appc.adapter.ansible.result.code`">\r
                         <outcome value='101'>\r
                             <block>\r
                                 <set>\r
                                     <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
-                                    <parameter name='lcm-dmaap.correlation-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
+                                    <parameter name='lcm-dmaap.correlation-id' value="`$upgrade-software-input.common-header.request-id + '-' + $upgrade-software-input.common-header.sub-request-id`"/>\r
                                     <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
                                     <parameter name='lcm-dmaap.rpc-name' value='upgrade-software'/>\r
                                     <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
                                     <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
                                     <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
                                     <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
-                                    <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                    <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.request-id`'/>\r
                                     <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
                                     <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
                                     <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
                                     <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
-                                    <parameter name='lcm-dmaap.payload' value='`$org.onap.appc.adapter.ansible.results`'/>\r
-                                    <parameter name='lcm-dmaap.status.code' value='`$org.onap.ccsdk.sli.adaptors.ansible.result.code`' />\r
-                                    <parameter name='lcm-dmaap.status.message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`'/>\r
+                                    <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
+                                    <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
                                 </set>\r
                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
                                     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
                                     </outcome>\r
                                 </execute>\r
                                 <return status='failure'>\r
-                                    <parameter name='error-code' value='200' />\r
-                                    <parameter name='error-message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`' />\r
+                                    <parameter name='status.code' value='401' />\r
+                                    <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
                                 </return>\r
                             </block>\r
                         </outcome>\r
                             <block>\r
                                 <set>\r
                                     <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
-                                    <parameter name='lcm-dmaap.correlation-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
+                                    <parameter name='lcm-dmaap.correlation-id' value="`$upgrade-software-input.common-header.request-id + '-' + $upgrade-software-input.common-header.sub-request-id`"/>\r
                                     <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
                                     <parameter name='lcm-dmaap.rpc-name' value='upgrade-software'/>\r
                                     <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
                                     <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
                                     <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
                                     <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
-                                    <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                    <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.request-id`'/>\r
                                     <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
                                     <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
                                     <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
                                     <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
-                                    <parameter name='lcm-dmaap.payload' value='`$org.onap.appc.adapter.ansible.results`'/>\r
-                                    <parameter name='lcm-dmaap.status.code' value='`$org.onap.ccsdk.sli.adaptors.ansible.result.code`' />\r
-                                    <parameter name='lcm-dmaap.status.message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`'/>\r
+                                    <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
+                                    <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
                                 </set>\r
                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
                                     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
                                     </outcome>\r
                                 </execute>\r
                                 <return status='failure'>\r
-                                    <parameter name='error-code' value='200' />\r
-                                    <parameter name='error-message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`' />\r
+                                    <parameter name='status.code' value='401' />\r
+                                    <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
                                 </return>\r
                             </block>\r
                         </outcome>\r
                                 <parameter name='AgentUrl' value='`$prop.ansible.agenturl`'/>\r
                                 <parameter name='User' value='`$prop.ansible.user`'/>\r
                                 <parameter name='Password' value='`$prop.ansible.password`'/>\r
-                                <parameter name='Id' value='`$upgrade-software-input.common-header.request-id`'/>\r
-                                <parameter name='PlaybookName' value='`$prop.lcm.upgrade-software.playbookname`'/>\r
+                                <parameter name='Id' value='`$org.onap.appc.adapter.ansible.Id`'/>\r
+                                <parameter name='PlaybookName' value='`$playbookname`'/>\r
                                 <outcome value='failure'>\r
                                     <block>\r
-                                        <set>\r
-                                            <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
-                                            <parameter name='lcm-dmaap.correlation-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
-                                            <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
-                                            <parameter name='lcm-dmaap.rpc-name' value='upgrade-software'/>\r
-                                            <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
-                                            <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
-                                            <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
-                                            <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
-                                            <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
-                                            <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
-                                            <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
-                                            <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
-                                            <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
-                                            <parameter name='lcm-dmaap.payload' value='`$org.onap.appc.adapter.ansible.results`'/>\r
-                                            <parameter name='lcm-dmaap.status.code' value='`$org.onap.ccsdk.sli.adaptors.ansible.result.code`' />\r
-                                            <parameter name='lcm-dmaap.status.message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`'/>\r
-                                        </set>\r
+                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>\r
+                                            <parameter name='source' value='org.onap.appc.adapter.ansible.results' />\r
+                                            <parameter name='outputPath' value='resultsJson' />\r
+                                            <parameter name='isEscaped' value='false' />\r
+                                        </execute>\r
+                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
+                                            <parameter name='source' value="`'resultsJson' + $outputPayloadField`" />\r
+                                            <parameter name='outputPath' value='outputPayload' />\r
+                                        </execute>\r
+                                        <switch test='`$outputPayload`'>\r
+                                            <outcome value=''>\r
+                                                <set>\r
+                                                    <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
+                                                    <parameter name='lcm-dmaap.correlation-id' value="`$upgrade-software-input.common-header.request-id + '-' + $upgrade-software-input.common-header.sub-request-id`"/>\r
+                                                    <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
+                                                    <parameter name='lcm-dmaap.rpc-name' value='upgrade-software'/>\r
+                                                    <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
+                                                    <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
+                                                    <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
+                                                    <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                                    <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.request-id`'/>\r
+                                                    <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
+                                                    <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
+                                                    <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
+                                                    <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
+                                                    <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
+                                                    <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='Other'>\r
+                                                <set>\r
+                                                    <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
+                                                    <parameter name='lcm-dmaap.correlation-id' value="`$upgrade-software-input.common-header.request-id + '-' + $upgrade-software-input.common-header.sub-request-id`"/>\r
+                                                    <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
+                                                    <parameter name='lcm-dmaap.rpc-name' value='upgrade-software'/>\r
+                                                    <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
+                                                    <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
+                                                    <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
+                                                    <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                                    <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.request-id`'/>\r
+                                                    <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
+                                                    <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
+                                                    <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
+                                                    <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
+                                                    <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
+                                                    <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
+                                                    <parameter name='lcm-dmaap.payload' value='`$outputPayload`'/>\r
+                                                </set>\r
+                                            </outcome>\r
+                                        </switch>\r
                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
                                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
                                             <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\r
                                                 </record>\r
                                             </outcome>\r
                                         </execute>\r
-                                        <return status='failure'>\r
-                                            <parameter name='error-code' value='200' />\r
-                                            <parameter name='error-message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`' />\r
-                                        </return>\r
+                                        <switch test='`$outputPayload`'>\r
+                                            <outcome value=''>\r
+                                                <switch test="`$org.onap.appc.adapter.ansible.result.code`">\r
+                                                    <outcome value='400'>\r
+                                                        <return status='success'>\r
+                                                            <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
+                                                            <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
+                                                        </return>\r
+                                                    </outcome>\r
+                                                    <outcome value='Other'>\r
+                                                        <return status='failure'>\r
+                                                            <parameter name='status.code' value='401' />\r
+                                                            <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
+                                                        </return>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                            </outcome>\r
+                                            <outcome value='Other'>\r
+                                                <switch test="`$org.onap.appc.adapter.ansible.result.code`">\r
+                                                    <outcome value='400'>\r
+                                                        <return status='success'>\r
+                                                            <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
+                                                            <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
+                                                            <parameter name='payload' value='`$outputPayload`'/>\r
+                                                        </return>\r
+                                                    </outcome>\r
+                                                    <outcome value='Other'>\r
+                                                        <return status='failure'>\r
+                                                            <parameter name='status.code' value='401' />\r
+                                                            <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
+                                                            <parameter name='payload' value='`$outputPayload`'/>\r
+                                                        </return>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                            </outcome>\r
+                                        </switch>\r
                                     </block>\r
                                 </outcome>\r
                                 <outcome value='success'>\r
                                     <block>\r
-                                        <set>\r
-                                            <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
-                                            <parameter name='lcm-dmaap.correlation-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
-                                            <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
-                                            <parameter name='lcm-dmaap.rpc-name' value='upgrade-software'/>\r
-                                            <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
-                                            <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
-                                            <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
-                                            <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
-                                            <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
-                                            <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
-                                            <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
-                                            <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
-                                            <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
-                                            <parameter name='lcm-dmaap.payload' value='`$org.onap.appc.adapter.ansible.results`'/>\r
-                                            <parameter name='lcm-dmaap.status.code' value='`$org.onap.ccsdk.sli.adaptors.ansible.result.code`' />\r
-                                            <parameter name='lcm-dmaap.status.message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`'/>\r
-                                        </set>\r
+                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>\r
+                                            <parameter name='source' value='org.onap.appc.adapter.ansible.results' />\r
+                                            <parameter name='outputPath' value='resultsJson' />\r
+                                            <parameter name='isEscaped' value='false' />\r
+                                        </execute>\r
+                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
+                                            <parameter name='source' value="`'resultsJson' + $outputPayloadField`" />\r
+                                            <parameter name='outputPath' value='outputPayload' />\r
+                                        </execute>\r
+                                        <switch test='`$outputPayload`'>\r
+                                            <outcome value=''>\r
+                                                <set>\r
+                                                    <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
+                                                    <parameter name='lcm-dmaap.correlation-id' value="`$upgrade-software-input.common-header.request-id + '-' + $upgrade-software-input.common-header.sub-request-id`"/>\r
+                                                    <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
+                                                    <parameter name='lcm-dmaap.rpc-name' value='upgrade-software'/>\r
+                                                    <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
+                                                    <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
+                                                    <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
+                                                    <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                                    <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.request-id`'/>\r
+                                                    <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
+                                                    <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
+                                                    <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
+                                                    <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
+                                                    <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
+                                                    <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='Other'>\r
+                                                <set>\r
+                                                    <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
+                                                    <parameter name='lcm-dmaap.correlation-id' value="`$upgrade-software-input.common-header.request-id + '-' + $upgrade-software-input.common-header.sub-request-id`"/>\r
+                                                    <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
+                                                    <parameter name='lcm-dmaap.rpc-name' value='upgrade-software'/>\r
+                                                    <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
+                                                    <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
+                                                    <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
+                                                    <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                                    <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.request-id`'/>\r
+                                                    <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
+                                                    <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
+                                                    <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
+                                                    <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
+                                                    <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
+                                                    <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
+                                                    <parameter name='lcm-dmaap.payload' value='`$outputPayload`'/>\r
+                                                </set>\r
+                                            </outcome>\r
+                                        </switch>\r
                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
                                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
                                             <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\r
                                                 </record>\r
                                             </outcome>\r
                                         </execute>\r
-                                        <return status='success'>\r
-                                            <parameter name='status.code' value='`$org.onap.ccsdk.sli.adaptors.ansible.result.code`' />\r
-                                            <parameter name='status.message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`'/>\r
-                                        </return>\r
+                                        <switch test='`$outputPayload`'>\r
+                                            <outcome value=''>\r
+                                                <switch test="`$org.onap.appc.adapter.ansible.result.code`">\r
+                                                    <outcome value='400'>\r
+                                                        <return status='success'>\r
+                                                            <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
+                                                            <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
+                                                        </return>\r
+                                                    </outcome>\r
+                                                    <outcome value='Other'>\r
+                                                        <return status='failure'>\r
+                                                            <parameter name='status.code' value='401' />\r
+                                                            <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
+                                                        </return>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                            </outcome>\r
+                                            <outcome value='Other'>\r
+                                                <switch test="`$org.onap.appc.adapter.ansible.result.code`">\r
+                                                    <outcome value='400'>\r
+                                                        <return status='success'>\r
+                                                            <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
+                                                            <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
+                                                            <parameter name='payload' value='`$outputPayload`'/>\r
+                                                        </return>\r
+                                                    </outcome>\r
+                                                    <outcome value='Other'>\r
+                                                        <return status='failure'>\r
+                                                            <parameter name='status.code' value='401' />\r
+                                                            <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
+                                                            <parameter name='payload' value='`$outputPayload`'/>\r
+                                                        </return>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                            </outcome>\r
+                                        </switch>\r
                                     </block>\r
                                 </outcome>\r
                             </execute>\r