1 <service-logic xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="GENERIC-RESOURCE-API" version="${project.version}">
\r
2 <method rpc="sotn-get-otn-tunnel-path-from-oof" mode="sync">
\r
3 <block atomic="true">
\r
4 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
\r
5 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/' + $prop.restapi.oof-getpath.templatefile`"/>
\r
6 <parameter name="restapiUrl" value="`$prop.restapi.connection-oof-url`"/>
\r
7 <parameter name="restapiUser" value="`$prop.oof.user`"/>
\r
8 <parameter name="restapiPassword" value="`$prop.oof.password`"/>
\r
9 <parameter name="format" value="json"/>
\r
10 <parameter name="httpMethod" value="post"/>
\r
11 <parameter name="responsePrefix" value="otn-oof"/>
\r
12 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
\r
13 <parameter name="trustStorePassword" value="adminadmin"/>
\r
14 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
15 <parameter name="keyStorePassword" value="adminadmin"/>
\r
16 <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/>
\r
17 <outcome value="failure">
\r
18 <return status="failure">
\r
19 <parameter name="ack-final" value="Y"/>
\r
20 <parameter name="error-code" value="500"/>
\r
21 <parameter name="error-message" value="Error executing OOF api"/>
\r
24 <outcome value="success">
\r
28 <for index="vidx" start="0" end="`$otn-oof.solutions_length`">
\r
29 <block atomic="true">
\r
31 <parameter name="otn-oof.link-name" value="`$otn-oof.solutions[$vidx].link`"/>
\r
33 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link" key="logical-link.link-name = $otn-oof.link-name" pfx="tmp.aai.cross-link" local-only="false">
\r
34 <!--AND depth = '0'"-->
\r
35 <outcome value="success">
\r
37 <switch test="`$tmp.aai.cross-link.link-role`">
\r
38 <outcome value="cross-domain">
\r
39 <block atomic="true">
\r
40 <for index="lridx" start="0" end="`$tmp.aai.cross-link.relationship-list.relationship_length`">
\r
41 <switch test="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].related-to`">
\r
42 <outcome value="p-interface">
\r
45 <parameter name="tmp.cross-link.src-ltpId" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[1].relationship-value`"/>
\r
46 <parameter name="tmp.cross-link.dst-ltpId" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx + 1].relationship-data[1].relationship-value`"/>
\r
47 <parameter name="tmp.src-pnf-name" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[0].relationship-value`"/>
\r
48 <parameter name="tmp.dst-pnf-name" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx + 1].relationship-data[0].relationship-value`"/>
\r
55 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $tmp.src-pnf-name AND p-interface.interface-name = $tmp.cross-link.src-ltpId" pfx="tmp.aai.src-tp" local-only="false">
\r
56 <!--AND depth = '0'"-->
\r
57 <outcome value="success">
\r
59 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf" key="pnf.pnf-name = $tmp.src-pnf-name" pfx="tmp.aai.src-pnf" local-only="false">
\r
60 <!--AND depth = '0'"-->
\r
61 <outcome value="success">
\r
64 <parameter name="domain-A.node-id" value="`$tmp.aai.src-pnf.pnf-id`"/>
\r
65 <parameter name="domain-A.tpn" value="1"/>
\r
67 <for silentFailure="true" index="vidx" start="0" end="`$tmp.aai.src-pnf.relationship-list.relationship_length`">
\r
68 <switch test="`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].related-to`">
\r
69 <outcome value="tunnel-termination-point">
\r
70 <block atomic="true">
\r
72 <parameter name="tmp.src-ttp-id" value="`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`"/>
\r
74 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="tunnel-termination-point" key="tunnel-termination-point.ttp-id = $tmp.src-ttp-id AND depth = '0'" pfx="tmp.aai.src-ttp" local-only="false">
\r
75 <outcome value="success">
\r
76 <block atomic="true">
\r
77 <switch test="`$tmp.aai.src-ttp.relationship-list.relationship_length`">
\r
84 <outcome value="Other">
\r
85 <for silentFailure="true" index="vidx" start="0" end="`$tmp.aai.src-ttp.relationship-list.relationship_length`">
\r
86 <switch test="`$tmp.aai.src-ttp.relationship-list.relationship[$vidx].related-to`">
\r
87 <outcome value="p-interface">
\r
88 <block atomic="true">
\r
90 <parameter name="domain-A.ttp-id" value="`$tmp.aai.src-ttp.tunnel-tp-id`"/>
\r
103 <outcome value="network-resource">
\r
104 <block atomic="true">
\r
106 <parameter name="tmp.domain-A.network-id" value="`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`"/>
\r
108 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="network-resource" key="network-resource.network-id = $tmp.domain-A.network-id AND depth = '0'" pfx="tmp.aai.src-network-resource" local-only="false">
\r
109 <outcome value="success">
\r
111 <parameter name="domain-A.network-id" value="`$tmp.aai.src-network-resource.network-id`"/>
\r
112 <parameter name="domain-A.provider-id" value="`$tmp.aai.src-network-resource.provider-id`"/>
\r
113 <parameter name="domain-A.client-id" value="`$tmp.aai.src-network-resource.client-id`"/>
\r
114 <parameter name="domain-A.te-topo-id" value="`$tmp.aai.src-network-resource.te-topo-id`"/>
\r
115 <parameter name="domain-A.network-type" value="`$tmp.aai.src-network-resource.network-type`"/>
\r
125 <outcome value="not-found">
\r
126 <return status="failure">
\r
127 <parameter name="ack-final" value="Y"/>
\r
128 <parameter name="error-code" value="500"/>
\r
129 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>
\r
132 <outcome value="Other">
\r
133 <return status="failure">
\r
134 <parameter name="ack-final" value="Y"/>
\r
135 <parameter name="error-code" value="500"/>
\r
136 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>
\r
142 <outcome value="not-found">
\r
143 <return status="failure">
\r
144 <parameter name="ack-final" value="Y"/>
\r
145 <parameter name="error-code" value="500"/>
\r
146 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>
\r
149 <outcome value="Other">
\r
150 <return status="failure">
\r
151 <parameter name="ack-final" value="Y"/>
\r
152 <parameter name="error-code" value="500"/>
\r
153 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>
\r
157 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $tmp.dst-pnf-name AND p-interface.interface-name = $tmp.cross-link.dst-ltpId" pfx="tmp.aai.dst-tp" local-only="false">
\r
158 <!--AND depth = '0'"-->
\r
159 <outcome value="success">
\r
161 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf" key="pnf.pnf-name = $tmp.dst-pnf-name" pfx="tmp.aai.dst-pnf" local-only="false">
\r
162 <!--AND depth = '0'"-->
\r
163 <outcome value="success">
\r
166 <parameter name="domain-B.node-id" value="`$tmp.aai.dst-pnf.pnf-id`"/>
\r
167 <parameter name="domain-B.tpn" value="1"/>
\r
169 <for silentFailure="true" index="vidx" start="0" end="`$tmp.aai.dst-pnf.relationship-list.relationship_length`">
\r
170 <switch test="`$tmp.aai.dst-pnf.relationship-list.relationship[$vidx].related-to`">
\r
171 <outcome value="tunnel-termination-point">
\r
172 <block atomic="true">
\r
174 <parameter name="tmp.dst-ttp-id" value="`$tmp.aai.dst-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`"/>
\r
176 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="tunnel-termination-point" key="tunnel-termination-point.ttp-id = $tmp.dst-ttp-id AND depth = '0'" pfx="tmp.aai.dst-ttp" local-only="false">
\r
177 <outcome value="success">
\r
178 <block atomic="true">
\r
179 <switch test="`$tmp.aai.dst-ttp.relationship-list.relationship_length`">
\r
183 <outcome value="0">
\r
186 <outcome value="Other">
\r
187 <for silentFailure="true" index="vidx" start="0" end="`$tmp.aai.dst-ttp.relationship-list.relationship_length`">
\r
188 <switch test="`$tmp.aai.dst-ttp.relationship-list.relationship[$vidx].related-to`">
\r
189 <outcome value="p-interface">
\r
190 <block atomic="true">
\r
192 <parameter name="domain-B.ttp-id" value="`$tmp.aai.dst-ttp.tunnel-tp-id`"/>
\r
205 <outcome value="network-resource">
\r
206 <block atomic="true">
\r
208 <parameter name="tmp.domain-B.network-id" value="`$tmp.aai.dst-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`"/>
\r
210 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="network-resource" key="network-resource.network-id = $tmp.domain-B.network-id AND depth = '0'" pfx="tmp.aai.dst-network-resource" local-only="false">
\r
211 <outcome value="success">
\r
213 <parameter name="domain-B.network-id" value="`$tmp.aai.dst-network-resource.network-id`"/>
\r
214 <parameter name="domain-B.provider-id" value="`$tmp.aai.dst-network-resource.provider-id`"/>
\r
215 <parameter name="domain-B.client-id" value="`$tmp.aai.dst-network-resource.client-id`"/>
\r
216 <parameter name="domain-B.te-topo-id" value="`$tmp.aai.dst-network-resource.te-topo-id`"/>
\r
217 <parameter name="domain-B.network-type" value="`$tmp.aai.dst-network-resource.network-type`"/>
\r
227 <outcome value="not-found">
\r
228 <return status="failure">
\r
229 <parameter name="ack-final" value="Y"/>
\r
230 <parameter name="error-code" value="500"/>
\r
231 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>
\r
234 <outcome value="Other">
\r
235 <return status="failure">
\r
236 <parameter name="ack-final" value="Y"/>
\r
237 <parameter name="error-code" value="500"/>
\r
238 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>
\r
244 <outcome value="not-found">
\r
245 <return status="failure">
\r
246 <parameter name="ack-final" value="Y"/>
\r
247 <parameter name="error-code" value="500"/>
\r
248 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>
\r
251 <outcome value="Other">
\r
252 <return status="failure">
\r
253 <parameter name="ack-final" value="Y"/>
\r
254 <parameter name="error-code" value="500"/>
\r
255 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>
\r
263 <switch test="`length($tmp.aai.cross-link.relationship-list.relationship) == 0`">
\r
264 <outcome value="true"/>
\r
265 <outcome value="false">
\r
266 <switch test="`$vidx`">
\r
267 <outcome value="0">
\r
268 <for index="lridx" start="0" end="`$tmp.aai.cross-link.relationship-list.relationship_length`">
\r
269 <switch test="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].related-to`">
\r
270 <outcome value="p-interface">
\r
273 <parameter name="tmp.oofsolutions-first-src-pnf-name" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[0].relationship-value`"/>
\r
274 <parameter name="tmp.oofsolutions-first-src-ltpId" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[1].relationship-value`"/>
\r
282 <outcome value="`$otn-oof.solutions_length - 1`">
\r
283 <for index="lridx" start="0" end="`$tmp.aai.cross-link.relationship-list.relationship_length`">
\r
284 <switch test="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].related-to`">
\r
285 <outcome value="p-interface">
\r
288 <parameter name="tmp.oofsolutions-last-dst-pnf-name" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx + 1].relationship-data[0].relationship-value`"/>
\r
289 <parameter name="tmp.oofsolutions-last-dst-ltpId" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx + 1].relationship-data[1].relationship-value`"/>
\r
302 <outcome value="not-found">
\r
303 <return status="failure">
\r
304 <parameter name="ack-final" value="Y"/>
\r
305 <parameter name="error-code" value="500"/>
\r
306 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>
\r
309 <outcome value="Other">
\r
310 <return status="failure">
\r
311 <parameter name="ack-final" value="Y"/>
\r
312 <parameter name="error-code" value="500"/>
\r
313 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>
\r