Fix set nodelist in SW upgrade DGs
[sdnc/oam.git] / platform-logic / lcm / src / main / xml / LCM_upgrade-pre-check.xml
index d60d2b3..6f89bfc 100644 (file)
             <set>\r
                 <parameter name='status.code' value='200' />\r
                 <parameter name='status.message' value='unexpected return from DG' />\r
+                <parameter name='quote' value="'" />\r
             </set>\r
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>\r
+                <parameter name='source' value='upgrade-pre-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-pre-check.playbookname`'/>\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-pre-check.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-pre-check-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-pre-check.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-pre-check.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-pre-check-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-pre-check-input.common-header.request-id`'/>\r
-                <parameter name='PlaybookName' value='`$prop.lcm.upgrade-pre-check.playbookname`'/>\r
+                <parameter name='PlaybookName' value='`$playbookname`'/>\r
                 <outcome value='not-found'>\r
                     <block>\r
                         <set>\r
                                 <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-pre-check-input.common-header.flags.mode`'/>\r
                                 <parameter name='lcm-dmaap.flags.force' value='`$upgrade-pre-check-input.common-header.flags.force`'/>\r
                                 <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-pre-check-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.appc.adapter.ansible.result.code`' />\r
                                 <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
                             </set>\r
                             <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-pre-check-input.common-header.flags.mode`'/>\r
                             <parameter name='lcm-dmaap.flags.force' value='`$upgrade-pre-check-input.common-header.flags.force`'/>\r
                             <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-pre-check-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.appc.adapter.ansible.result.code`' />\r
                             <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
                         </set>\r
                                     <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-pre-check-input.common-header.flags.mode`'/>\r
                                     <parameter name='lcm-dmaap.flags.force' value='`$upgrade-pre-check-input.common-header.flags.force`'/>\r
                                     <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-pre-check-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.appc.adapter.ansible.result.code`' />\r
                                     <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
                                 </set>\r
                                     <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-pre-check-input.common-header.flags.mode`'/>\r
                                     <parameter name='lcm-dmaap.flags.force' value='`$upgrade-pre-check-input.common-header.flags.force`'/>\r
                                     <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-pre-check-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.appc.adapter.ansible.result.code`' />\r
                                     <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
                                 </set>\r
                                 <parameter name='User' value='`$prop.ansible.user`'/>\r
                                 <parameter name='Password' value='`$prop.ansible.password`'/>\r
                                 <parameter name='Id' value='`$org.onap.appc.adapter.ansible.Id`'/>\r
-                                <parameter name='PlaybookName' value='`$prop.lcm.upgrade-pre-check.playbookname`'/>\r
+                                <parameter name='PlaybookName' value='`$playbookname`'/>\r
                                 <outcome value='failure'>\r
                                     <block>\r
                                         <set>\r
                                             <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-pre-check-input.common-header.flags.mode`'/>\r
                                             <parameter name='lcm-dmaap.flags.force' value='`$upgrade-pre-check-input.common-header.flags.force`'/>\r
                                             <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-pre-check-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.appc.adapter.ansible.result.code`' />\r
                                             <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
                                         </set>\r
                                             <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-pre-check-input.common-header.flags.mode`'/>\r
                                             <parameter name='lcm-dmaap.flags.force' value='`$upgrade-pre-check-input.common-header.flags.force`'/>\r
                                             <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-pre-check-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.appc.adapter.ansible.result.code`' />\r
                                             <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
                                         </set>\r