<service-logic\r
- xmlns='http://www.onap.org/sdnc/svclogic'\r
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DataChange' version='${project.version}'>\r
+ xmlns='http://www.onap.org/sdnc/svclogic'\r
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DataChange' version='${project.version}'>\r
<method rpc='update-network-to-aai' mode='sync'>\r
<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
- <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='zone' \r
- key='zone.zone-id = $tmp.network-id' >\r
- <parameter name='zone-id' value='`$tmp.network-id`' />\r
- <parameter name='zone-name' value='`$network.client-id`' />\r
- <parameter name='design-type' value='`$network.te-topology-id`' />\r
- <parameter name='zone-context' value='`$network.provider-id`' />\r
+ <set>\r
+ <!--<parameter name='tmp.network-id' value="`$prop.sdncRestApi.thirdpartySdnc.id + '-' + $tmp.original-network-id`" />-->\r
+ <parameter name='tmp.network-id' value="`$tmp.original-network-id`" />\r
+ </set>\r
+ <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='network-resource'\r
+ 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='te-topo-id' value='`$network.te-topology-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"\r
+ resource="esr-thirdparty-sdnc"\r
+ key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id AND\r
+ depth = '1'"\r
+ 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'\r
+ key='network-resource.network-id = $tmp.network-id'\r
+ 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
+ <!--/aai/v19/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/SOTNControllerDomain2-->\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
+ </set>\r
+ <set>\r
+ <parameter name='unique-nodeId' value="`'networkId-' + $unique-networkId + '-nodeId-' + $node.node-id`" />\r
</set>\r
- <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf' \r
- key='pnf.pnf-name = $node.node-id' >\r
- <parameter name='pnf-name' value='`$node.node-id`' />\r
+ <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf'\r
+ key='pnf.pnf-name = $unique-nodeId' >\r
+ <parameter name='pnf-name' value='`$unique-nodeId`' />\r
<parameter name='pnf-id' value='`$node.node-id`' />\r
+ <parameter name='operational-status' value='`$node.te.oper-status`' />\r
+ <parameter name='admin-status' value='`$node.te.te-node-attributes.admin-status`' />\r
<parameter name='in-maint' value='true' />\r
</save>\r
- <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \r
- key='pnf.pnf-name = $node.node-id' force="true" pfx="tmp.AnAI-data">\r
- <parameter name="relationship-list.relationship[0].related-to" value="zone" />\r
- <parameter name="relationship-list.relationship[0].related-link" value="`'/network/zones/zone/' + $tmp.network-id`" />\r
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="zone.zone-id" />\r
+ <switch test='`$node.termination-point_length`'>\r
+ <outcome value=''>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='0'>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='Other'>\r
+ <for index='tidx' start='0' end='`$node.termination-point_length`' >\r
+ <set>\r
+ <parameter name='tp.' value='' />\r
+ </set>\r
+ <set>\r
+ <parameter name='tp.' value='`$node.termination-point[$tidx].`' />\r
+ </set>\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></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'\r
+ key='pnf.pnf-name = $unique-nodeId\r
+ 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
+ <parameter name='inter-domain-plug-id' value='`$tmp.decoded-plug-id`' />\r
+ <outcome value='success'>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='failure'>\r
+ <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface'\r
+ key='pnf.pnf-name = $unique-nodeId\r
+ 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
+ <parameter name='inter-domain-plug-id' value='`$tmp.decoded-plug-id`' />\r
+ </update>\r
+ </outcome>\r
+ </save>\r
+ </for>\r
+ </outcome>\r
+ </switch>\r
+ <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list'\r
+ 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="network-resource.network-id" />\r
<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.network-id`" />\r
</save>\r
- <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='esr-thirdparty-sdnc:relationship-list' \r
- key='esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id' \r
- force="true" pfx="tmp.AnAI-data">\r
+ <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='esr-thirdparty-sdnc:relationship-list'\r
+ key='esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id'\r
+ force="true" pfx="tmp.AnAI-data">\r
<parameter name="relationship-list.relationship[0].related-to" value="pnf" />\r
- <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $node.node-id`" />\r
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-nodeId`" />\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
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-nodeId`" />\r
</save>\r
- <for index='tidx' start='0' end='`$node.termination-point_length`' >\r
- <set>\r
- <parameter name='tp.' value='`$node.termination-point[$tidx].`' />\r
- </set>\r
- <set>\r
- <parameter name='unique-ltpId' value="`'nodeId-' + $node.node-id + '-ltpId-' + $tp.te-tp-id`" />\r
- </set>\r
- <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link' \r
- key='logical-link.link-name = $unique-ltpId' >\r
- <parameter name='link-name' value='`$unique-ltpId`' />\r
- <parameter name='link-type' value='VL' />\r
- <parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\r
- <parameter name='in-maint' value='`$tp.svc.supported-classification.transparent`' />\r
- </save>\r
- <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \r
- key='pnf.pnf-name = $node.node-id' force="true" pfx="tmp.AnAI-data">\r
- <parameter name="relationship-list.relationship[0].related-to" value="logical-link" />\r
- <parameter name="relationship-list.relationship[0].related-link" value="`'/network/logical-links/logical-link/' + $unique-ltpId`" />\r
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="logical-link.link-name" />\r
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-ltpId`" />\r
- </save>\r
- </for>\r
+ <switch test='`$node.te.tunnel-termination-point_length`'>\r
+ <outcome value=''>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='0'>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='Other'>\r
+ <for index='ttidx' start='0' end='`$node.te.tunnel-termination-point_length`' >\r
+ <set>\r
+ <parameter name='ttp.' value='' />\r
+ </set>\r
+ <set>\r
+ <parameter name='ttp.' value='`$node.te.tunnel-termination-point[$ttidx].`' />\r
+ </set>\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'\r
+ 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></block>\r
+ </outcome>\r
+ <outcome value='failure'>\r
+ <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='tunnel-termination-point'\r
+ 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'\r
+ 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
+ <!--<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[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'></outcome>\r
+ <outcome value='failure'></outcome>\r
+ </save>\r
+ <switch test='`$node.te.tunnel-termination-point[$ttidx].local-link-connectivities.local-link-connectivity_length`'>\r
+ <outcome value=''>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='0'>\r
+ <block></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'\r
+ 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
</for>\r
+ <call module='DataChange' rpc='update-network-links-to-aai' mode='sync' ></call>\r
</block>\r
</method>\r
</service-logic>
\ No newline at end of file