Update DGs and Playbooks for PNF SW Upgrade
[sdnc/oam.git] / platform-logic / lcm / src / main / xml / LCM_upgrade-post-check.xml
index 4a88aac..3b088c0 100644 (file)
                 <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-post-check-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-post-check.playbookname`'/>\r
-                    </set>\r
-                </outcome>\r
-                <outcome value='Other'>\r
+            <switch test="`$upgrade-post-check-input.action-identifiers.pnf-name`">\r
+                <outcome value=''>\r
                     <block>\r
                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
                             <parameter name='outputPath' value='playbookname' />\r
                         </get-resource>\r
                     </block>\r
                 </outcome>\r
+                <outcome value='Other'>\r
+                    <block>\r
+                        <set>\r
+                            <parameter name='nodelist' value="`'[' + $quote + $payloadJson.ipaddress-v4-oam +  $quote + ']'`"/>\r
+                            <parameter name='outputPayloadField' value="`'.' + $payloadJson.ipaddress-v4-oam + '.Output'`"/>\r
+                        </set>\r
+                        <switch test='`$payloadJson.playbook-name`'>\r
+                            <outcome value=''>\r
+                                <set>\r
+                                    <parameter name='playbookname' value='`$prop.lcm.pnf.upgrade-post-check.playbookname`'/>\r
+                                </set>\r
+                            </outcome>\r
+                            <outcome value='Other'>\r
+                                <set>\r
+                                    <parameter name='playbookname' value='`$payloadJson.playbook-name`'/>\r
+                                </set>\r
+                            </outcome>\r
+                        </switch>\r
+                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='updateJsonObjectString'>\r
+                            <parameter name='source' value='upgrade-post-check-input.payload' />\r
+                            <parameter name='outputPath' value='upgrade-post-check-input.payload' />\r
+                            <parameter name='add.pnf-flag' value='true' />\r
+                            <parameter name='add.pnfName' value="`$upgrade-post-check-input.action-identifiers.pnf-name`" />\r
+                            <parameter name='delete.ipaddress-v4-oam' value="" />\r
+                            <parameter name='delete.playbook-name' value="" />\r
+                        </execute>\r
+                    </block>\r
+                </outcome>\r
             </switch>\r
             <switch test='`$playbookname`'>\r
                 <outcome value=''>\r
                                 <parameter name='PlaybookName' value='`$playbookname`'/>\r
                                 <outcome value='failure'>\r
                                     <block>\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
                                         <set>\r
                                             <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
                                             <parameter name='lcm-dmaap.correlation-id' value="`$upgrade-post-check-input.common-header.request-id + '-' + $upgrade-post-check-input.common-header.sub-request-id`"/>\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
+                                        <switch test='`$outputPayload`'>\r
+                                            <outcome value='Other'>\r
+                                                <set>\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
+                                        <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
                                         <set>\r
                                             <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
                                             <parameter name='lcm-dmaap.correlation-id' value="`$upgrade-post-check-input.common-header.request-id + '-' + $upgrade-post-check-input.common-header.sub-request-id`"/>\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
+                                        <switch test='`$outputPayload`'>\r
+                                            <outcome value='Other'>\r
+                                                <set>\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