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='GENERIC-RESOURCE-API' version='${project.version}'>
\r
4 <method rpc='sotn-get-otn-tunnel-path-from-oof' mode='sync'>
\r
5 <block atomic="true">
\r
6 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
7 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/' + $prop.restapi.oof-getpath.templatefile`" />
\r
8 <parameter name="restapiUrl" value="`$prop.restapi.connection-oof-url`" />
\r
9 <parameter name="restapiUser" value="`$prop.oof.user`" />
\r
10 <parameter name="restapiPassword" value="`$prop.oof.password`" />
\r
11 <parameter name="format" value="json"/>
\r
12 <parameter name="httpMethod" value="post"/>
\r
13 <parameter name="responsePrefix" value="otn-oof"/>
\r
14 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
\r
15 <parameter name="trustStorePassword" value="adminadmin"/>
\r
16 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
17 <parameter name="keyStorePassword" value="adminadmin"/>
\r
18 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
\r
19 <outcome value='failure'>
\r
20 <return status='failure'>
\r
21 <parameter name='ack-final' value='Y'/>
\r
22 <parameter name="error-code" value="500" />
\r
23 <parameter name="error-message" value="Error executing OOF api" />
\r
26 <outcome value='success'>
\r
30 <for index='vidx' start='0' end='`$otn-oof.solutions_length`' >
\r
31 <block atomic="true">
\r
33 <parameter name='otn-oof.link-name' value='`$otn-oof.solutions[$vidx].link`' />
\r
35 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
36 resource="logical-link"
\r
37 key="logical-link.link-name = $otn-oof.link-name"
\r
38 pfx='tmp.aai.cross-link' local-only='false' >
\r
39 <!--AND depth = '0'"-->
\r
40 <outcome value='success'>
\r
42 <switch test='`$tmp.aai.cross-link.link-role`'>
\r
43 <outcome value='cross-domain'>
\r
44 <block atomic="true">
\r
45 <for index='lridx' start='0' end='`$tmp.aai.cross-link.relationship-list.relationship_length`' >
\r
46 <switch test='`$tmp.aai.cross-link.relationship-list.relationship[$lridx].related-to`'>
\r
47 <outcome value='p-interface'>
\r
50 <parameter name='tmp.cross-link.src-ltpId' value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[1].relationship-value`" />
\r
51 <parameter name='tmp.cross-link.dst-ltpId' value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx + 1].relationship-data[1].relationship-value`" />
\r
52 <parameter name='tmp.src-pnf-name' value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[0].relationship-value`" />
\r
53 <parameter name='tmp.dst-pnf-name' value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx + 1].relationship-data[0].relationship-value`" />
\r
60 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
61 resource="p-interface"
\r
62 key="pnf.pnf-name = $tmp.src-pnf-name
\r
63 AND p-interface.interface-name = $tmp.cross-link.src-ltpId"
\r
64 pfx='tmp.aai.src-tp' local-only='false' >
\r
65 <!--AND depth = '0'"-->
\r
66 <outcome value='success'>
\r
68 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
70 key="pnf.pnf-name = $tmp.src-pnf-name"
\r
71 pfx='tmp.aai.src-pnf' local-only='false' >
\r
72 <!--AND depth = '0'"-->
\r
73 <outcome value='success'>
\r
76 <parameter name='domain-A.node-id' value="`$tmp.aai.src-pnf.pnf-id`" />
\r
77 <parameter name='domain-A.tpn' value='1' />
\r
79 <for silentFailure='true' index='vidx' start='0' end='`$tmp.aai.src-pnf.relationship-list.relationship_length`' >
\r
80 <switch test='`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].related-to`'>
\r
81 <outcome value='tunnel-termination-point'>
\r
82 <block atomic="true">
\r
84 <parameter name='tmp.src-ttp-id' value="`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`" />
\r
86 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
87 resource="tunnel-termination-point"
\r
88 key="tunnel-termination-point.ttp-id = $tmp.src-ttp-id
\r
90 pfx='tmp.aai.src-ttp' local-only='false' >
\r
91 <outcome value='success'>
\r
92 <block atomic="true">
\r
93 <switch test='`$tmp.aai.src-ttp.relationship-list.relationship_length`'>
\r
100 <outcome value='Other'>
\r
101 <for silentFailure='true' index='vidx' start='0' end='`$tmp.aai.src-ttp.relationship-list.relationship_length`' >
\r
102 <switch test='`$tmp.aai.src-ttp.relationship-list.relationship[$vidx].related-to`'>
\r
103 <outcome value='p-interface'>
\r
104 <block atomic="true">
\r
106 <parameter name='domain-A.ttp-id' value="`$tmp.aai.src-ttp.tunnel-tp-id`" />
\r
119 <outcome value='network-resource'>
\r
120 <block atomic="true">
\r
122 <parameter name='tmp.domain-A.network-id' value="`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`" />
\r
124 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
125 resource="network-resource"
\r
126 key="network-resource.network-id = $tmp.domain-A.network-id
\r
128 pfx='tmp.aai.src-network-resource' local-only='false' >
\r
129 <outcome value='success'>
\r
131 <parameter name='domain-A.network-id' value="`$tmp.aai.src-network-resource.network-id`" />
\r
132 <parameter name='domain-A.provider-id' value="`$tmp.aai.src-network-resource.provider-id`" />
\r
133 <parameter name='domain-A.client-id' value="`$tmp.aai.src-network-resource.client-id`" />
\r
134 <parameter name='domain-A.te-topo-id' value="`$tmp.aai.src-network-resource.te-topo-id`" />
\r
135 <parameter name='domain-A.network-type' value="`$tmp.aai.src-network-resource.network-type`" />
\r
145 <outcome value='not-found'>
\r
146 <return status='failure'>
\r
147 <parameter name='ack-final' value='Y'/>
\r
148 <parameter name="error-code" value="500" />
\r
149 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
\r
152 <outcome value='Other'>
\r
153 <return status='failure'>
\r
154 <parameter name='ack-final' value='Y'/>
\r
155 <parameter name="error-code" value="500" />
\r
156 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
\r
162 <outcome value='not-found'>
\r
163 <return status='failure'>
\r
164 <parameter name='ack-final' value='Y'/>
\r
165 <parameter name="error-code" value="500" />
\r
166 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
\r
169 <outcome value='Other'>
\r
170 <return status='failure'>
\r
171 <parameter name='ack-final' value='Y'/>
\r
172 <parameter name="error-code" value="500" />
\r
173 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
\r
177 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
178 resource="p-interface"
\r
179 key="pnf.pnf-name = $tmp.dst-pnf-name
\r
180 AND p-interface.interface-name = $tmp.cross-link.dst-ltpId"
\r
181 pfx='tmp.aai.dst-tp' local-only='false' >
\r
182 <!--AND depth = '0'"-->
\r
183 <outcome value='success'>
\r
185 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
187 key="pnf.pnf-name = $tmp.dst-pnf-name"
\r
188 pfx='tmp.aai.dst-pnf' local-only='false' >
\r
189 <!--AND depth = '0'"-->
\r
190 <outcome value='success'>
\r
193 <parameter name='domain-B.node-id' value="`$tmp.aai.dst-pnf.pnf-id`" />
\r
194 <parameter name='domain-B.tpn' value='1' />
\r
196 <for silentFailure='true' index='vidx' start='0' end='`$tmp.aai.dst-pnf.relationship-list.relationship_length`' >
\r
197 <switch test='`$tmp.aai.dst-pnf.relationship-list.relationship[$vidx].related-to`'>
\r
198 <outcome value='tunnel-termination-point'>
\r
199 <block atomic="true">
\r
201 <parameter name='tmp.dst-ttp-id' value="`$tmp.aai.dst-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`" />
\r
203 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
204 resource="tunnel-termination-point"
\r
205 key="tunnel-termination-point.ttp-id = $tmp.dst-ttp-id
\r
207 pfx='tmp.aai.dst-ttp' local-only='false' >
\r
208 <outcome value='success'>
\r
209 <block atomic="true">
\r
210 <switch test='`$tmp.aai.dst-ttp.relationship-list.relationship_length`'>
\r
214 <outcome value='0'>
\r
217 <outcome value='Other'>
\r
218 <for silentFailure='true' index='vidx' start='0' end='`$tmp.aai.dst-ttp.relationship-list.relationship_length`' >
\r
219 <switch test='`$tmp.aai.dst-ttp.relationship-list.relationship[$vidx].related-to`'>
\r
220 <outcome value='p-interface'>
\r
221 <block atomic="true">
\r
223 <parameter name='domain-B.ttp-id' value="`$tmp.aai.dst-ttp.tunnel-tp-id`" />
\r
236 <outcome value='network-resource'>
\r
237 <block atomic="true">
\r
239 <parameter name='tmp.domain-B.network-id' value="`$tmp.aai.dst-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`" />
\r
241 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
242 resource="network-resource"
\r
243 key="network-resource.network-id = $tmp.domain-B.network-id
\r
245 pfx='tmp.aai.dst-network-resource' local-only='false' >
\r
246 <outcome value='success'>
\r
248 <parameter name='domain-B.network-id' value="`$tmp.aai.dst-network-resource.network-id`" />
\r
249 <parameter name='domain-B.provider-id' value="`$tmp.aai.dst-network-resource.provider-id`" />
\r
250 <parameter name='domain-B.client-id' value="`$tmp.aai.dst-network-resource.client-id`" />
\r
251 <parameter name='domain-B.te-topo-id' value="`$tmp.aai.dst-network-resource.te-topo-id`" />
\r
252 <parameter name='domain-B.network-type' value="`$tmp.aai.dst-network-resource.network-type`" />
\r
262 <outcome value='not-found'>
\r
263 <return status='failure'>
\r
264 <parameter name='ack-final' value='Y'/>
\r
265 <parameter name="error-code" value="500" />
\r
266 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
\r
269 <outcome value='Other'>
\r
270 <return status='failure'>
\r
271 <parameter name='ack-final' value='Y'/>
\r
272 <parameter name="error-code" value="500" />
\r
273 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
\r
279 <outcome value='not-found'>
\r
280 <return status='failure'>
\r
281 <parameter name='ack-final' value='Y'/>
\r
282 <parameter name="error-code" value="500" />
\r
283 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
\r
286 <outcome value='Other'>
\r
287 <return status='failure'>
\r
288 <parameter name='ack-final' value='Y'/>
\r
289 <parameter name="error-code" value="500" />
\r
290 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
\r
298 <switch test='`length($tmp.aai.cross-link.relationship-list.relationship) == 0`'>
\r
299 <outcome value='true'></outcome>
\r
300 <outcome value='false'>
\r
301 <switch test='`$vidx`'>
\r
302 <outcome value='0'>
\r
303 <for index='lridx' start='0' end='`$tmp.aai.cross-link.relationship-list.relationship_length`' >
\r
304 <switch test='`$tmp.aai.cross-link.relationship-list.relationship[$lridx].related-to`'>
\r
305 <outcome value='p-interface'>
\r
308 <parameter name='tmp.oofsolutions-first-src-pnf-name' value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[0].relationship-value`" />
\r
309 <parameter name='tmp.oofsolutions-first-src-ltpId' value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[1].relationship-value`" />
\r
317 <outcome value='`$otn-oof.solutions_length - 1`'>
\r
318 <for index='lridx' start='0' end='`$tmp.aai.cross-link.relationship-list.relationship_length`' >
\r
319 <switch test='`$tmp.aai.cross-link.relationship-list.relationship[$lridx].related-to`'>
\r
320 <outcome value='p-interface'>
\r
323 <parameter name='tmp.oofsolutions-last-dst-pnf-name' value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx + 1].relationship-data[0].relationship-value`" />
\r
324 <parameter name='tmp.oofsolutions-last-dst-ltpId' value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx + 1].relationship-data[1].relationship-value`" />
\r
337 <outcome value='not-found'>
\r
338 <return status='failure'>
\r
339 <parameter name='ack-final' value='Y'/>
\r
340 <parameter name="error-code" value="500" />
\r
341 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
\r
344 <outcome value='Other'>
\r
345 <return status='failure'>
\r
346 <parameter name='ack-final' value='Y'/>
\r
347 <parameter name="error-code" value="500" />
\r
348 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
\r