Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / datachange / src / main / xml / DataChange_update-network-to-aai.xml
1 <service-logic\r
2         xmlns='http://www.onap.org/sdnc/svclogic'\r
3         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
4     <method rpc='update-network-to-aai' mode='sync'>\r
5         <block atomic="true">\r
6             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
7                 <parameter name="source" value="`$network.network-id`"/>\r
8                 <parameter name="outputPath" value="tmp.original-network-id"/>\r
9                 <parameter name="target" value="/"/>\r
10                 <parameter name="replacement" value="-"/>\r
11             </execute>\r
12             <set>\r
13                 <!--<parameter name='tmp.network-id' value="`$prop.sdncRestApi.thirdpartySdnc.id + '-' + $tmp.original-network-id`" />-->\r
14                 <parameter name='tmp.network-id' value="`$tmp.original-network-id`" />\r
15             </set>\r
16             <set>\r
17                 <parameter name='tmp.client-id' value='`$network.te-topology-identifier.client-id`' />\r
18                 <parameter name='tmp.te-topo-id' value='`$network.te-topology-identifier.topology-id`' />\r
19                 <parameter name='tmp.provider-id' value='`$network.te-topology-identifier.provider-id`' />\r
20             </set>\r
21             <switch test="`length($tmp.client-id) == 0`">\r
22                 <outcome value='true'>\r
23                     <block>\r
24                         <set>\r
25                             <parameter name='tmp.client-id' value='`$network.client-id`' />\r
26                         </set>\r
27                     </block>\r
28                 </outcome>\r
29             </switch>\r
30             <switch test="`length($tmp.te-topo-id) == 0`">\r
31                 <outcome value='true'>\r
32                     <block>\r
33                         <set>\r
34                             <parameter name='tmp.te-topo-id' value='`$network.te-topology-id`' />\r
35                         </set>\r
36                     </block>\r
37                 </outcome>\r
38             </switch>\r
39             <switch test="`length($tmp.provider-id) == 0`">\r
40                 <outcome value='true'>\r
41                     <block>\r
42                         <set>\r
43                             <parameter name='tmp.provider-id' value='`$network.provider-id`' />\r
44                         </set>\r
45                     </block>\r
46                 </outcome>\r
47             </switch>\r
48             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
49                           resource="network-resource"\r
50                           key="network-resource.network-id = $tmp.network-id"\r
51                           local-only="false"\r
52                           pfx="tmpo.aai.network-resource" >\r
53                 <outcome value='success'>\r
54                     <block>\r
55                         <set>\r
56                             <parameter name='tmpo.provider-id' value="`$tmp.provider-id + 'new' `" />\r
57                         </set>\r
58                         <set>\r
59                             <parameter name='tmp.provider-id' value="`$tmpo.provider-id`" />\r
60                         </set>\r
61                         <set>\r
62                             <!--<parameter name='tmp.network-id' value="`$prop.sdncRestApi.thirdpartySdnc.id + '-' + $tmp.original-network-id`" />-->\r
63                             <parameter name='tmp.network-id' value="" />\r
64                         </set>\r
65                         <set>\r
66                             <!--<parameter name='tmp.network-id' value="`$prop.sdncRestApi.thirdpartySdnc.id + '-' + $tmp.original-network-id`" />-->\r
67                             <parameter name='tmp.network-id' value="`'providerId-' + $tmp.provider-id + '-clientId-' + $tmp.client-id + '-topologyId-' + $tmp.te-topo-id `" />\r
68                             <!--<parameter name='tmp.network-id' value="`'providerId-' + $tmpo.provider-id `" />-->\r
69                         </set>\r
70                     </block>\r
71                 </outcome>\r
72                 <outcome value='not-found'>\r
73                     <block></block>\r
74                 </outcome>\r
75             </get-resource>\r
76             <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='network-resource'\r
77                   key='network-resource.network-id = $tmp.network-id' >\r
78                 <parameter name='network-id' value='`$tmp.network-id`' />\r
79                 <parameter name='client-id' value='`$tmp.client-id`' />\r
80                 <parameter name='te-topo-id' value='`$tmp.te-topo-id`' />\r
81                 <parameter name='provider-id' value='`$tmp.provider-id`' />\r
82                 <!--<parameter name='client-id' value='`$network.te-topology-identifier.client-id`' />-->\r
83                 <!--<parameter name='te-topo-id' value='`$network.te-topology-identifier.topology-id`' />-->\r
84                 <!--<parameter name='provider-id' value='`$network.te-topology-identifier.provider-id`' />-->\r
85                 <parameter name='network-type' value='`$network.network-types`' />\r
86             </save>\r
87             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
88                           resource="esr-thirdparty-sdnc"\r
89                           key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id AND\r
90                      depth = '1'"\r
91                           pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\r
92                 <outcome value='success'>\r
93                     <block>\r
94                         <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='network-resource:relationship-list'\r
95                               key='network-resource.network-id = $tmp.network-id'\r
96                               force="true" pfx="tmp.AnAI-data">\r
97                             <parameter name="relationship-list.relationship[0].related-to" value="esr-thirdparty-sdnc" />\r
98                             <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
99                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="esr-thirdparty-sdnc.thirdparty-sdnc-id" />\r
100                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.sdncRestApi.thirdpartySdnc.id`" />\r
101                             <!--/aai/v19/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/SOTNControllerDomain2-->\r
102                         </save>\r
103                     </block>\r
104                 </outcome>\r
105                 <outcome value='not-found'>\r
106                     <return status='failure'>\r
107                         <parameter name='ack-final' value='Y'/>\r
108                         <parameter name="error-code" value="500" />\r
109                         <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
110                     </return>\r
111                 </outcome>\r
112                 <outcome value='Other'>\r
113                     <return status='failure'>\r
114                         <parameter name='ack-final' value='Y'/>\r
115                         <parameter name="error-code" value="500" />\r
116                         <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
117                     </return>\r
118                 </outcome>\r
119             </get-resource>\r
120             <for index='pidx' start='0' end='`$network.node_length`' >\r
121                 <set>\r
122                     <parameter name='node.' value='' />\r
123                 </set>\r
124                 <set>\r
125                     <parameter name='node.' value='`$network.node[$pidx].`' />\r
126                     <parameter name='unique-networkId' value='`$tmp.network-id`' />\r
127                 </set>\r
128                 <set>\r
129                     <parameter name='unique-nodeId' value="`'networkId-' + $unique-networkId + '-nodeId-' + $node.node-id`" />\r
130                 </set>\r
131                 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf'\r
132                       key='pnf.pnf-name = $unique-nodeId' >\r
133                     <parameter name='pnf-name' value='`$unique-nodeId`' />\r
134                     <parameter name='pnf-id' value='`$node.node-id`' />\r
135                     <parameter name='operational-status' value='`$node.te.oper-status`' />\r
136                     <parameter name='admin-status' value='`$node.te.te-node-attributes.admin-status`' />\r
137                     <parameter name='in-maint' value='true' />\r
138                 </save>\r
139                 <switch test='`$node.termination-point_length`'>\r
140                     <outcome value=''>\r
141                         <block></block>\r
142                     </outcome>\r
143                     <outcome value='0'>\r
144                         <block></block>\r
145                     </outcome>\r
146                     <outcome value='Other'>\r
147                         <for index='tidx' start='0' end='`$node.termination-point_length`' >\r
148                             <set>\r
149                                 <parameter name='tp.' value='' />\r
150                             </set>\r
151                             <set>\r
152                                 <parameter name='tp.' value='`$node.termination-point[$tidx].`' />\r
153                             </set>\r
154                             <set>\r
155                                 <parameter name='unique-ltpId' value="`$unique-nodeId + '-ltpId-' + $tp.te-tp-id`" />\r
156                             </set>\r
157                             <switch test='`length($tp.te.inter-domain-plug-id) == 0`'>\r
158                                 <outcome value='true'>\r
159                                     <set>\r
160                                         <parameter name='tmp.decoded-plug-id' value='' />\r
161                                     </set>\r
162                                 </outcome>\r
163                                 <outcome value='false'>\r
164                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='base64DecodingAlgo' >\r
165                                         <parameter name="encodedValue" value='`$tp.te.inter-domain-plug-id`'/>\r
166                                         <parameter name="decodedValue" value="tmp.decoded-plug-id"/>\r
167                                         <outcome value='success'>\r
168                                             <block></block>\r
169                                         </outcome>\r
170                                         <outcome value='failure'>\r
171                                             <set>\r
172                                                 <parameter name='tmp.decoded-plug-id' value='`$tp.te.inter-domain-plug-id`' />\r
173                                             </set>\r
174                                         </outcome>\r
175                                     </execute>\r
176                                 </outcome>\r
177                             </switch>\r
178                             <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface'\r
179                                   key='pnf.pnf-name = $unique-nodeId\r
180       AND p-interface.interface-name = $unique-ltpId' >\r
181                                 <parameter name='interface-name' value='`$unique-ltpId`' />\r
182                                 <parameter name='network-ref' value='`$tp.supporting-termination-point[0].network-ref`' />\r
183                                 <parameter name='transparent' value='`$tp.svc.supported-classification.transparent`' />\r
184                                 <parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\r
185                                 <parameter name='operational-status' value='`$tp.te.oper-status`' />\r
186                                 <parameter name='in-maint' value="true" />\r
187                                 <parameter name='inter-layer-lock-id' value='`$tp.te.inter-layer-lock-id[0]`' />\r
188                                 <!--<parameter name='inter-domain-plug-id' value='`$tp.te.inter-domain-plug-id`' />-->\r
189                                 <parameter name='inter-domain-plug-id' value='`$tmp.decoded-plug-id`' />\r
190                                 <outcome value='success'>\r
191                                     <block></block>\r
192                                 </outcome>\r
193                                 <outcome value='failure'>\r
194                                     <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface'\r
195                                             key='pnf.pnf-name = $unique-nodeId\r
196       AND p-interface.interface-name = $unique-ltpId' >\r
197                                         <parameter name='interface-name' value='`$unique-ltpId`' />\r
198                                         <parameter name='network-ref' value='`$tp.supporting-termination-point[0].network-ref`' />\r
199                                         <parameter name='transparent' value='`$tp.svc.supported-classification.transparent`' />\r
200                                         <parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\r
201                                         <parameter name='operational-status' value='`$tp.te.oper-status`' />\r
202                                         <parameter name='in-maint' value="true" />\r
203                                         <parameter name='inter-layer-lock-id' value='`$tp.te.inter-layer-lock-id[0]`' />\r
204                                         <!--<parameter name='inter-domain-plug-id' value='`$tp.te.inter-domain-plug-id`' />-->\r
205                                         <parameter name='inter-domain-plug-id' value='`$tmp.decoded-plug-id`' />\r
206                                     </update>\r
207                                 </outcome>\r
208                             </save>\r
209                         </for>\r
210                     </outcome>\r
211                 </switch>\r
212                 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list'\r
213                       key='pnf.pnf-name = $unique-nodeId' force="true" pfx="tmp.AnAI-data">\r
214                     <parameter name="relationship-list.relationship[0].related-to" value="network-resource" />\r
215                     <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id`" />\r
216                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-resource.network-id" />\r
217                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.network-id`" />\r
218                 </save>\r
219                 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='esr-thirdparty-sdnc:relationship-list'\r
220                       key='esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id'\r
221                       force="true" pfx="tmp.AnAI-data">\r
222                     <parameter name="relationship-list.relationship[0].related-to" value="pnf" />\r
223                     <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-nodeId`" />\r
224                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name" />\r
225                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-nodeId`" />\r
226                 </save>\r
227                 <switch test='`$node.te.tunnel-termination-point_length`'>\r
228                     <outcome value=''>\r
229                         <block></block>\r
230                     </outcome>\r
231                     <outcome value='0'>\r
232                         <block></block>\r
233                     </outcome>\r
234                     <outcome value='Other'>\r
235                         <for index='ttidx' start='0' end='`$node.te.tunnel-termination-point_length`' >\r
236                             <set>\r
237                                 <parameter name='ttp.' value='' />\r
238                             </set>\r
239                             <set>\r
240                                 <parameter name='ttp.' value='`$node.te.tunnel-termination-point[$ttidx].`' />\r
241                             </set>\r
242                             <set>\r
243                                 <parameter name='unique-ttpId' value="`$unique-nodeId + '-ttpId-' + $ttp.tunnel-tp-id`" />\r
244                             </set>\r
245                             <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='tunnel-termination-point'\r
246                                   key='tunnel-termination-point.ttp-id = $unique-ttpId' >\r
247                                 <parameter name='ttp-id' value='`$unique-ttpId`' />\r
248                                 <parameter name='tunnel-tp-id' value='`$ttp.tunnel-tp-id`' />\r
249                                 <parameter name='name' value='`$ttp.name`' />\r
250                                 <parameter name='admin-status' value='`$ttp.admin-status`' />\r
251                                 <parameter name='oper-status' value='`$ttp.oper-status`' />\r
252                                 <parameter name='inter-layer-lock-id' value='`$ttp.inter-layer-lock-id[0]`' />\r
253                                 <parameter name='switching-capability' value='`$ttp.switching-capability`' />\r
254                                 <parameter name='protection-type' value='`$ttp.protection-type`' />\r
255                                 <parameter name='encoding' value='`$ttp.encoding`' />\r
256                                 <outcome value='success'>\r
257                                     <block></block>\r
258                                 </outcome>\r
259                                 <outcome value='failure'>\r
260                                     <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='tunnel-termination-point'\r
261                                             key='tunnel-termination-point.ttp-id = $unique-ttpId' >\r
262                                         <parameter name='ttp-id' value='`$unique-ttpId`' />\r
263                                         <parameter name='tunnel-tp-id' value='`$ttp.tunnel-tp-id`' />\r
264                                         <parameter name='name' value='`$ttp.name`' />\r
265                                         <parameter name='admin-status' value='`$ttp.admin-status`' />\r
266                                         <parameter name='oper-status' value='`$ttp.oper-status`' />\r
267                                         <parameter name='inter-layer-lock-id' value='`$ttp.inter-layer-lock-id[0]`' />\r
268                                         <parameter name='switching-capability' value='`$ttp.switching-capability`' />\r
269                                         <parameter name='protection-type' value='`$ttp.protection-type`' />\r
270                                         <parameter name='encoding' value='`$ttp.encoding`' />\r
271                                     </update>\r
272                                 </outcome>\r
273                             </save>\r
274                             <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list'\r
275                                   key='pnf.pnf-name = $unique-nodeId' force="true" pfx="tmp.AnAI-data">\r
276                                 <parameter name="relationship-list.relationship[0].related-to" value="tunnel-termination-point" />\r
277                                 <!--<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
278                                 <parameter name="relationship-list.relationship[0].related-link" value="`'/network/tunnel-termination-points/tunnel-termination-point/' + $unique-ttpId`" />\r
279                                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="tunnel-termination-point.ttp-id" />\r
280                                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-ttpId`" />\r
281                                 <outcome value='success'></outcome>\r
282                                 <outcome value='failure'></outcome>\r
283                             </save>\r
284                             <switch test='`$node.te.tunnel-termination-point[$ttidx].local-link-connectivities.local-link-connectivity_length`'>\r
285                                 <outcome value=''>\r
286                                     <block></block>\r
287                                 </outcome>\r
288                                 <outcome value='0'>\r
289                                     <block></block>\r
290                                 </outcome>\r
291                                 <outcome value='Other'>\r
292                                     <block>\r
293                                         <set>\r
294                                             <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
295                                         </set>\r
296                                         <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='tunnel-termination-point:relationship-list'\r
297                                               key='tunnel-termination-point.ttp-id = $unique-ttpId' force="true" pfx="tmp.AnAI-data">\r
298                                             <parameter name="relationship-list.relationship[0].related-to" value="p-interface" />\r
299                                             <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-nodeId + '/p-interfaces/p-interface/' + $unique-ltpId-second`" />\r
300                                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name" />\r
301                                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-ltpId-second`" />\r
302                                         </save>\r
303                                     </block>\r
304                                 </outcome>\r
305                             </switch>\r
306                         </for>\r
307                     </outcome>\r
308                 </switch>\r
309             </for>\r
310             <call module='DataChange' rpc='update-network-links-to-aai' mode='sync' ></call>\r
311         </block>\r
312     </method>\r
313 </service-logic>