Adding local-link-connectivity-list (llcl) information to match ttp and tp locally...
[sdnc/oam.git] / platform-logic / datachange / src / main / xml / DataChange_update-network-to-aai.xml
index 17be19e..afe1fc0 100644 (file)
@@ -3,10 +3,13 @@
         <block atomic="true">\r
             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="replace">\r
                 <parameter name="source" value="`$network.network-id`"/>\r
-                <parameter name="outputPath" value="tmp.network-id"/>\r
+                <parameter name="outputPath" value="tmp.original-network-id"/>\r
                 <parameter name="target" value="/"/>\r
                 <parameter name="replacement" value="-"/>\r
             </execute>\r
+            <set>\r
+                <parameter name="tmp.network-id" value="`$prop.sdncRestApi.thirdpartySdnc.id + '-' + $tmp.original-network-id`"/>\r
+            </set>\r
             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="network-resource" key="network-resource.network-id = $tmp.network-id">\r
                 <parameter name="network-id" value="`$tmp.network-id`"/>\r
                 <parameter name="client-id" value="`$network.client-id`"/>\r
                 <parameter name="provider-id" value="`$network.provider-id`"/>\r
                 <parameter name="network-type" value="`$network.network-types`"/>\r
             </save>\r
+            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id AND depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false">\r
+                <outcome value="success">\r
+                    <block>\r
+                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="network-resource:relationship-list" key="network-resource.network-id = $tmp.network-id" force="true" pfx="tmp.AnAI-data">\r
+                            <parameter name="relationship-list.relationship[0].related-to" value="esr-thirdparty-sdnc"/>\r
+                            <parameter name="relationship-list.relationship[0].related-link" value="`'/aai/v19/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/' + $prop.sdncRestApi.thirdpartySdnc.id`"/>\r
+                            <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="esr-thirdparty-sdnc.thirdparty-sdnc-id"/>\r
+                            <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.sdncRestApi.thirdpartySdnc.id`"/>\r
+                            <!--\r
+                            /aai/v19/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/SOTNControllerDomain2\r
+                            -->\r
+                        </save>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value="not-found">\r
+                    <return status="failure">\r
+                        <parameter name="ack-final" value="Y"/>\r
+                        <parameter name="error-code" value="500"/>\r
+                        <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`"/>\r
+                    </return>\r
+                </outcome>\r
+                <outcome value="Other">\r
+                    <return status="failure">\r
+                        <parameter name="ack-final" value="Y"/>\r
+                        <parameter name="error-code" value="500"/>\r
+                        <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`"/>\r
+                    </return>\r
+                </outcome>\r
+            </get-resource>\r
             <for index="pidx" start="0" end="`$network.node_length`">\r
+                <set>\r
+                    <parameter name="node." value=""/>\r
+                </set>\r
                 <set>\r
                     <parameter name="node." value="`$network.node[$pidx].`"/>\r
                     <parameter name="unique-networkId" value="`$tmp.network-id`"/>\r
@@ -29,7 +64,7 @@
                     <parameter name="admin-status" value="`$node.te.te-node-attributes.admin-status`"/>\r
                     <parameter name="in-maint" value="true"/>\r
                 </save>\r
-                <switch test="`$node.te.tunnel-termination-point_length`">\r
+                <switch test="`$node.termination-point_length`">\r
                     <outcome value="">\r
                         <block/>\r
                     </outcome>\r
                         <block/>\r
                     </outcome>\r
                     <outcome value="Other">\r
-                        <for index="ttidx" start="0" end="`$node.te.tunnel-termination-point_length`">\r
+                        <for index="tidx" start="0" end="`$node.termination-point_length`">\r
                             <set>\r
-                                <parameter name="ttp." value="`$node.te.tunnel-termination-point[$ttidx].`"/>\r
+                                <parameter name="tp." value=""/>\r
                             </set>\r
                             <set>\r
-                                <parameter name="unique-ttpId" value="`$unique-nodeId + '-ttpId-' + $ttp.tunnel-tp-id`"/>\r
+                                <parameter name="tp." value="`$node.termination-point[$tidx].`"/>\r
                             </set>\r
-                            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="tunnel-termination-point" key="pnf.pnf-name = $unique-nodeId AND tunnel-termination-point.ttp-id = $unique-ttpId">\r
-                                <parameter name="ttp-id" value="`$unique-ttpId`"/>\r
-                                <parameter name="tunnel-tp-id" value="`$ttp.tunnel-tp-id`"/>\r
-                                <parameter name="name" value="`$ttp.name`"/>\r
-                                <parameter name="admin-status" value="`$ttp.admin-status`"/>\r
-                                <parameter name="oper-status" value="`$ttp.oper-status`"/>\r
-                                <parameter name="inter-layer-lock-id" value="`$ttp.inter-layer-lock-id`"/>\r
-                                <parameter name="switching-capability" value="`$ttp.switching-capability`"/>\r
-                                <parameter name="protection-type" value="`$ttp.protection-type`"/>\r
-                                <parameter name="encoding" value="`$ttp.encoding`"/>\r
+                            <set>\r
+                                <parameter name="unique-ltpId" value="`$unique-nodeId + '-ltpId-' + $tp.te-tp-id`"/>\r
+                            </set>\r
+                            <switch test="`length($tp.te.inter-domain-plug-id) == 0`">\r
+                                <outcome value="true">\r
+                                    <set>\r
+                                        <parameter name="tmp.decoded-plug-id" value=""/>\r
+                                    </set>\r
+                                </outcome>\r
+                                <outcome value="false">\r
+                                    <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="base64DecodingAlgo">\r
+                                        <parameter name="encodedValue" value="`$tp.te.inter-domain-plug-id`"/>\r
+                                        <parameter name="decodedValue" value="tmp.decoded-plug-id"/>\r
+                                        <outcome value="success">\r
+                                            <block/>\r
+                                        </outcome>\r
+                                        <outcome value="failure">\r
+                                            <set>\r
+                                                <parameter name="tmp.decoded-plug-id" value="`$tp.te.inter-domain-plug-id`"/>\r
+                                            </set>\r
+                                        </outcome>\r
+                                    </execute>\r
+                                </outcome>\r
+                            </switch>\r
+                            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $unique-nodeId AND p-interface.interface-name = $unique-ltpId">\r
+                                <parameter name="interface-name" value="`$unique-ltpId`"/>\r
+                                <parameter name="network-ref" value="`$tp.supporting-termination-point[0].network-ref`"/>\r
+                                <parameter name="transparent" value="`$tp.svc.supported-classification.transparent`"/>\r
+                                <parameter name="speed-value" value="`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`"/>\r
+                                <parameter name="operational-status" value="`$tp.te.oper-status`"/>\r
+                                <parameter name="in-maint" value="true"/>\r
+                                <parameter name="inter-layer-lock-id" value="`$tp.te.inter-layer-lock-id[0]`"/>\r
+                                <!--\r
+                                <parameter name='inter-domain-plug-id' value='`$tp.te.inter-domain-plug-id`' />\r
+                                -->\r
+                                <parameter name="inter-domain-plug-id" value="`$tmp.decoded-plug-id`"/>\r
                                 <outcome value="success">\r
                                     <block/>\r
                                 </outcome>\r
                                 <outcome value="failure">\r
-                                    <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="tunnel-termination-point" key="pnf.pnf-name = $unique-nodeId AND tunnel-termination-point.ttp-id = $unique-ttpId">\r
-                                        <parameter name="ttp-id" value="`$unique-ttpId`"/>\r
-                                        <parameter name="tunnel-tp-id" value="`$ttp.tunnel-tp-id`"/>\r
-                                        <parameter name="name" value="`$ttp.name`"/>\r
-                                        <parameter name="admin-status" value="`$ttp.admin-status`"/>\r
-                                        <parameter name="oper-status" value="`$ttp.oper-status`"/>\r
-                                        <parameter name="inter-layer-lock-id" value="`$ttp.inter-layer-lock-id`"/>\r
-                                        <parameter name="switching-capability" value="`$ttp.switching-capability`"/>\r
-                                        <parameter name="protection-type" value="`$ttp.protection-type`"/>\r
-                                        <parameter name="encoding" value="`$ttp.encoding`"/>\r
+                                    <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $unique-nodeId AND p-interface.interface-name = $unique-ltpId">\r
+                                        <parameter name="interface-name" value="`$unique-ltpId`"/>\r
+                                        <parameter name="network-ref" value="`$tp.supporting-termination-point[0].network-ref`"/>\r
+                                        <parameter name="transparent" value="`$tp.svc.supported-classification.transparent`"/>\r
+                                        <parameter name="speed-value" value="`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`"/>\r
+                                        <parameter name="operational-status" value="`$tp.te.oper-status`"/>\r
+                                        <parameter name="in-maint" value="true"/>\r
+                                        <parameter name="inter-layer-lock-id" value="`$tp.te.inter-layer-lock-id[0]`"/>\r
+                                        <!--\r
+                                        <parameter name='inter-domain-plug-id' value='`$tp.te.inter-domain-plug-id`' />\r
+                                        -->\r
+                                        <parameter name="inter-domain-plug-id" value="`$tmp.decoded-plug-id`"/>\r
                                     </update>\r
                                 </outcome>\r
                             </save>\r
-                            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf:relationship-list" key="pnf.pnf-name = $unique-nodeId" force="true" pfx="tmp.AnAI-data">\r
-                                <parameter name="relationship-list.relationship[$ttidx].related-to" value="tunnel-termination-point"/>\r
-                                <parameter name="relationship-list.relationship[$ttidx].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id + '/pnfs/pnf/' + $node.node-id '/tunnel-termination-points/tunnel-termination-point/' + $unique-ttpId`"/>\r
-                                <parameter name="relationship-list.relationship[$ttidx].relationship-data[0].relationship-key" value="tunnel-termination-point.ttp-id"/>\r
-                                <parameter name="relationship-list.relationship[$ttidx].relationship-data[0].relationship-value" value="`$unique-ttpId`"/>\r
-                            </save>\r
                         </for>\r
                     </outcome>\r
                 </switch>\r
-                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
-                    <parameter name="file" value="/opt/onap/hesamlogx.txt"/>\r
-                    <parameter name="field1" value="__TIMESTAMP__"/>\r
-                    <parameter name="field2" value="sucess executing Hesam hesam log file"/>\r
-                    <parameter name="field3" value="`$node.te.tunnel-termination-point_length`"/>\r
-                    <parameter name="field4" value="`$node.termination-point_length`"/>\r
-                </record>\r
                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf:relationship-list" key="pnf.pnf-name = $unique-nodeId" force="true" pfx="tmp.AnAI-data">\r
                     <parameter name="relationship-list.relationship[0].related-to" value="network-resource"/>\r
                     <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id`"/>\r
                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name"/>\r
                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$node.node-id`"/>\r
                 </save>\r
-                <switch test="`$node.termination-point_length`">\r
+                <switch test="`$node.te.tunnel-termination-point_length`">\r
                     <outcome value="">\r
                         <block/>\r
                     </outcome>\r
                         <block/>\r
                     </outcome>\r
                     <outcome value="Other">\r
-                        <for index="tidx" start="0" end="`$node.termination-point_length`">\r
+                        <for index="ttidx" start="0" end="`$node.te.tunnel-termination-point_length`">\r
                             <set>\r
-                                <parameter name="tp." value="`$node.termination-point[$tidx].`"/>\r
+                                <parameter name="ttp." value=""/>\r
                             </set>\r
                             <set>\r
-                                <parameter name="unique-ltpId" value="`$unique-nodeId + '-ltpId-' + $tp.te-tp-id`"/>\r
+                                <parameter name="ttp." value="`$node.te.tunnel-termination-point[$ttidx].`"/>\r
                             </set>\r
-                            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $unique-nodeId AND p-interface.interface-name = $unique-ltpId">\r
-                                <parameter name="interface-name" value="`$unique-ltpId`"/>\r
-                                <parameter name="network-ref" value="`$tp.supporting-termination-point[0].network-ref`"/>\r
-                                <parameter name="transparent" value="`$tp.svc.supported-classification.transparent`"/>\r
-                                <parameter name="speed-value" value="`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`"/>\r
-                                <parameter name="operational-status" value="`$tp.te.oper-status`"/>\r
-                                <parameter name="in-maint" value="true"/>\r
-                                <parameter name="inter-layer-lock-id" value="`$tp.te.inter-layer-lock-id[0]`"/>\r
-                                <parameter name="inter-domain-plug-id" value="`$tp.te.inter-domain-plug-id`"/>\r
+                            <set>\r
+                                <parameter name="unique-ttpId" value="`$unique-nodeId + '-ttpId-' + $ttp.tunnel-tp-id`"/>\r
+                            </set>\r
+                            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="tunnel-termination-point" key="tunnel-termination-point.ttp-id = $unique-ttpId">\r
+                                <parameter name="ttp-id" value="`$unique-ttpId`"/>\r
+                                <parameter name="tunnel-tp-id" value="`$ttp.tunnel-tp-id`"/>\r
+                                <parameter name="name" value="`$ttp.name`"/>\r
+                                <parameter name="admin-status" value="`$ttp.admin-status`"/>\r
+                                <parameter name="oper-status" value="`$ttp.oper-status`"/>\r
+                                <parameter name="inter-layer-lock-id" value="`$ttp.inter-layer-lock-id[0]`"/>\r
+                                <parameter name="switching-capability" value="`$ttp.switching-capability`"/>\r
+                                <parameter name="protection-type" value="`$ttp.protection-type`"/>\r
+                                <parameter name="encoding" value="`$ttp.encoding`"/>\r
                                 <outcome value="success">\r
                                     <block/>\r
                                 </outcome>\r
                                 <outcome value="failure">\r
-                                    <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $unique-nodeId AND p-interface.interface-name = $unique-ltpId">\r
-                                        <parameter name="interface-name" value="`$unique-ltpId`"/>\r
-                                        <parameter name="network-ref" value="`$tp.supporting-termination-point[0].network-ref`"/>\r
-                                        <parameter name="transparent" value="`$tp.svc.supported-classification.transparent`"/>\r
-                                        <parameter name="speed-value" value="`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`"/>\r
-                                        <parameter name="operational-status" value="`$tp.te.oper-status`"/>\r
-                                        <parameter name="in-maint" value="true"/>\r
-                                        <parameter name="inter-layer-lock-id" value="`$tp.te.inter-layer-lock-id[0]`"/>\r
-                                        <parameter name="inter-domain-plug-id" value="`$tp.te.inter-domain-plug-id`"/>\r
+                                    <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="tunnel-termination-point" key="tunnel-termination-point.ttp-id = $unique-ttpId">\r
+                                        <parameter name="ttp-id" value="`$unique-ttpId`"/>\r
+                                        <parameter name="tunnel-tp-id" value="`$ttp.tunnel-tp-id`"/>\r
+                                        <parameter name="name" value="`$ttp.name`"/>\r
+                                        <parameter name="admin-status" value="`$ttp.admin-status`"/>\r
+                                        <parameter name="oper-status" value="`$ttp.oper-status`"/>\r
+                                        <parameter name="inter-layer-lock-id" value="`$ttp.inter-layer-lock-id[0]`"/>\r
+                                        <parameter name="switching-capability" value="`$ttp.switching-capability`"/>\r
+                                        <parameter name="protection-type" value="`$ttp.protection-type`"/>\r
+                                        <parameter name="encoding" value="`$ttp.encoding`"/>\r
                                     </update>\r
                                 </outcome>\r
                             </save>\r
+                            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf:relationship-list" key="pnf.pnf-name = $unique-nodeId" force="true" pfx="tmp.AnAI-data">\r
+                                <parameter name="relationship-list.relationship[0].related-to" value="tunnel-termination-point"/>\r
+                                <!--\r
+                                <parameter name="relationship-list.relationship[$ttidx].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id + '/pnfs/pnf/' + $node.node-id '/tunnel-termination-points/tunnel-termination-point/' + $unique-ttpId`" />\r
+                                -->\r
+                                <parameter name="relationship-list.relationship[0].related-link" value="`'/network/tunnel-termination-points/tunnel-termination-point/' + $unique-ttpId`"/>\r
+                                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="tunnel-termination-point.ttp-id"/>\r
+                                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-ttpId`"/>\r
+                                <outcome value="success">\r
+                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                                        <parameter name="file" value="/opt/onap/logTopologyDiscovery.txt"/>\r
+                                        <parameter name="field1" value="__TIMESTAMP__"/>\r
+                                        <parameter name="field2" value="sucess executing Hesam log file"/>\r
+                                        <parameter name="field3" value="`$node.te.tunnel-termination-point_length`"/>\r
+                                        <parameter name="field4" value="`$node.termination-point_length`"/>\r
+                                        <parameter name="field5" value="sucessfully saved ttp"/>\r
+                                        <parameter name="field6" value="`relationship-list.relationship[$ttidx].related-link`"/>\r
+                                    </record>\r
+                                </outcome>\r
+                                <outcome value="failure">\r
+                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                                        <parameter name="file" value="/opt/onap/logTopologyDiscovery.txt"/>\r
+                                        <parameter name="field1" value="__TIMESTAMP__"/>\r
+                                        <parameter name="field2" value="sucess executing Hesam log file"/>\r
+                                        <parameter name="field3" value="`$node.te.tunnel-termination-point_length`"/>\r
+                                        <parameter name="field4" value="`$node.termination-point_length`"/>\r
+                                        <parameter name="field5" value="failuire on saving ttp"/>\r
+                                        <parameter name="field6" value="`relationship-list.relationship[$ttidx].related-link`"/>\r
+                                    </record>\r
+                                </outcome>\r
+                            </save>\r
+                            <switch test="`$node.te.tunnel-termination-point[$ttidx].local-link-connectivities.local-link-connectivity_length`">\r
+                                <outcome value="">\r
+                                    <block/>\r
+                                </outcome>\r
+                                <outcome value="0">\r
+                                    <block/>\r
+                                </outcome>\r
+                                <outcome value="Other">\r
+                                    <block>\r
+                                        <set>\r
+                                            <parameter name="unique-ltpId-second" value="`$unique-nodeId + '-ltpId-' + $node.te.tunnel-termination-point[$ttidx].local-link-connectivities.local-link-connectivity[0].link-tp-ref`"/>\r
+                                        </set>\r
+                                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="tunnel-termination-point:relationship-list" key="tunnel-termination-point.ttp-id = $unique-ttpId" force="true" pfx="tmp.AnAI-data">\r
+                                            <parameter name="relationship-list.relationship[0].related-to" value="p-interface"/>\r
+                                            <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-nodeId + '/p-interfaces/p-interface/' + $unique-ltpId-second`"/>\r
+                                            <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name"/>\r
+                                            <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-ltpId-second`"/>\r
+                                        </save>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\r
                         </for>\r
                     </outcome>\r
                 </switch>\r
+                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                    <parameter name="file" value="/opt/onap/logTopologyDiscovery.txt"/>\r
+                    <parameter name="field1" value="__TIMESTAMP__"/>\r
+                    <parameter name="field2" value="sucess executing Hesam log file"/>\r
+                    <parameter name="field3" value="`$node.te.tunnel-termination-point_length`"/>\r
+                    <parameter name="field4" value="`$node.termination-point_length`"/>\r
+                </record>\r
             </for>\r
             <call module="DataChange" rpc="update-network-links-to-aai" mode="sync"/>\r
         </block>\r