Fix missing payload for DGs and Playbooks of SW upgrade
[sdnc/oam.git] / platform-logic / lcm / src / main / xml / LCM_upgrade-software.xml
index e4f818f..af0ee71 100644 (file)
@@ -11,6 +11,7 @@
                 <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
@@ -22,6 +23,7 @@
                     <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
                                 <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.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
+                                        <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='status.code' value='401' />\r
-                                            <parameter name='status.message' value='`$org.onap.appc.adapter.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.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
+                                        <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.appc.adapter.ansible.result.code`' />\r
-                                            <parameter name='status.message' value='`$org.onap.appc.adapter.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