Fixed JAVA keystore file name
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-wanport-activate.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='GENERIC-RESOURCE-API' version='${project.version}'>\r
4     <method rpc='sdwan-vnf-topology-operation-wanport-activate' mode='sync'>\r
5         <block atomic="true">\r
6             <switch test='`$service-data.vnfs.vnf_length`'>\r
7                 <outcome value='0'>\r
8                     <return status='failure'>\r
9                         <parameter name='ack-final' value='Y'/>\r
10                         <parameter name="error-code" value="500" />\r
11                         <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />\r
12                     </return>\r
13                 </outcome>\r
14                 <outcome value=''>\r
15                     <return status='failure'>\r
16                         <parameter name='ack-final' value='Y'/>\r
17                         <parameter name="error-code" value="500" />\r
18                         <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />\r
19                     </return>\r
20                 </outcome>\r
21                 <outcome value='Other'>\r
22                     <block atomic="true">\r
23                         <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >\r
24                             <block>\r
25                                 <switch test="`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`">\r
26                                     <outcome value='true'>\r
27                                         <block atomic="true">\r
28                                             <set>\r
29                                                 <parameter name='tmp.vidx' value='`$vidx`' />\r
30                                                 <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />\r
31                                             </set>\r
32                                             <set>\r
33                                                 <parameter name='vnf-request-input.' value='`$ctx.vnf-data.vnf-data.vnf-request-input.`' />\r
34                                             </set>\r
35                                             <call module='GENERIC-RESOURCE-API' rpc='sdwan-get-wan-param' mode='sync' ></call>\r
36                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
37                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>\r
38                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
39                                                 <parameter name="field2" value="....."/>\r
40                                                 <parameter name="field3" value="prop.wan.deviceName"/>\r
41                                                 <parameter name="field4" value='`$prop.wan.deviceName`'/>\r
42                                             </record>\r
43                                         </block>\r
44                                     </outcome>\r
45                                 </switch>\r
46                             </block>\r
47                         </for>\r
48                         <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >\r
49                             <switch test="`$service-data.vnfs.vnf[$vidx].vnf-data.request-information.request-action == 'ActivateSiteInstance'`">\r
50                                 <outcome value='true'>\r
51                                     <set>\r
52                                         <parameter name='tmp.siteVidx' value='`$vidx`' />\r
53                                         <parameter name='ctx.site.' value='`$service-data.vnfs.vnf[$vidx].`' />\r
54                                     </set>\r
55                                 </outcome>\r
56                             </switch>\r
57                             <switch test="`$service-data.vnfs.vnf[$vidx].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`">\r
58                                 <outcome value='true'>\r
59                                     <block atomic="true">\r
60                                         <for index="didx" start="0" end="`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">\r
61                                             <block atomic="true">\r
62                                                 <switch test="`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].name == 'name'`">\r
63                                                     <outcome value='true'>\r
64                                                         <block atomic="true">\r
65                                                             <switch test="`$prop.wan.deviceName == $service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].value`">\r
66                                                                 <outcome value='true'>\r
67                                                                     <block atomic="true">\r
68                                                                         <for index="deviceidx" start="0" end="`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">\r
69                                                                             <block atomic="true">\r
70                                                                                 <switch test="`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].name == 'deviceId'`">\r
71                                                                                     <outcome value='true'>\r
72                                                                                         <set>\r
73                                                                                             <parameter name='prop.wan.deviceId' value='`$service-data.vnfs.vnf[$vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].value`' />\r
74                                                                                         </set>\r
75                                                                                     </outcome>\r
76                                                                                 </switch>\r
77                                                                             </block>\r
78                                                                         </for>\r
79                                                                         <set>\r
80                                                                             <parameter name='tmp.devicevidx' value='`$vidx`' />\r
81                                                                         </set>\r
82                                                                     </block>\r
83                                                                 </outcome>\r
84                                                             </switch>\r
85                                                         </block>\r
86                                                     </outcome>\r
87                                                 </switch>\r
88                                             </block>\r
89                                         </for>\r
90                                     </block>\r
91                                 </outcome>\r
92                             </switch>\r
93                         </for>\r
94                         <switch test="`$tmp.vidx`">\r
95                             <outcome value=''>\r
96                                 <return status='failure'>\r
97                                     <parameter name='ack-final' value='Y'/>\r
98                                     <parameter name="error-code" value="500" />\r
99                                     <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />\r
100                                 </return>\r
101                             </outcome>\r
102                         </switch>\r
103                         <switch test="`$tmp.siteVidx`">\r
104                             <outcome value=''>\r
105                                 <return status='failure'>\r
106                                     <parameter name='ack-final' value='Y'/>\r
107                                     <parameter name="error-code" value="500" />\r
108                                     <parameter name="error-message" value="ActivateSiteInstance not found in service-data" />\r
109                                 </return>\r
110                             </outcome>\r
111                         </switch>\r
112                         <switch test="`$tmp.devicevidx`">\r
113                             <outcome value=''>\r
114                                 <return status='failure'>\r
115                                     <parameter name='ack-final' value='Y'/>\r
116                                     <parameter name="error-code" value="500" />\r
117                                     <parameter name="error-message" value="ActivateSDWANDeviceInstance not found in service-data" />\r
118                                 </return>\r
119                             </outcome>\r
120                         </switch>\r
121                     </block>\r
122                 </outcome>\r
123             </switch>\r
124             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
125                 <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>\r
126                 <parameter name="field1" value="__TIMESTAMP__"/>\r
127                 <parameter name="field2" value="sdwan-wanport-vnf-topology-operation-activate"/>\r
128                 <parameter name="field3" value="SDWAN-Activate"/>\r
129             </record>\r
130             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
131                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
132                 <parameter name='contextPrefix' value='prop' />\r
133             </execute>\r
134             <for index="sidx" start="0" end="`$ctx.site.vnf-data.vnf-request-input.vnf-input-parameters.param_length`">\r
135                 <block atomic="true">\r
136                     <switch test="`$ctx.site.vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'siteId'`">\r
137                         <outcome value='true'>\r
138                             <set>\r
139                                 <parameter name='prop.wan.siteId' value='`$ctx.site.vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\r
140                             </set>\r
141                         </outcome>\r
142                     </switch>\r
143                 </block>\r
144             </for>\r
145             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
146                 resource="esr-thirdparty-sdnc" \r
147                 key="esr-thirdparty-sdnc.thirdparty-sdnc-id = SDWANController AND \r
148                      depth = '1'"\r
149         pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\r
150                 <outcome value='success'>\r
151                     <set>\r
152                         <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />\r
153                         <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />\r
154                         <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />\r
155                     </set>\r
156                 </outcome>\r
157                 <outcome value='not-found'>\r
158                     <return status='failure'>\r
159                         <parameter name='ack-final' value='Y'/>\r
160                         <parameter name="error-code" value="500" />\r
161                         <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
162                     </return>\r
163                 </outcome>\r
164                 <outcome value='Other'>\r
165                     <return status='failure'>\r
166                         <parameter name='ack-final' value='Y'/>\r
167                         <parameter name="error-code" value="500" />\r
168                         <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
169                     </return>\r
170                 </outcome>\r
171             </get-resource>\r
172             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
173                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`" />\r
174                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`" />\r
175                 <parameter name="format" value="json"/>\r
176                 <parameter name="httpMethod" value="post"/>\r
177                 <parameter name="responsePrefix" value="token-result"/>\r
178                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
179                 <parameter name="trustStorePassword" value="adminadmin"/>\r
180                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
181                 <parameter name="keyStorePassword" value="adminadmin"/>\r
182                 <outcome value='success'>\r
183                     <set>\r
184                         <parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\r
185                     </set>\r
186                 </outcome>\r
187                 <outcome value='failure'>\r
188                     <return status='failure'>\r
189                         <parameter name='ack-final' value='Y'/>\r
190                         <parameter name="error-code" value="500" />\r
191                         <parameter name="error-message" value="Error executing get token rest api" />\r
192                     </return>\r
193                 </outcome>\r
194             </execute>\r
195             <call module='GENERIC-RESOURCE-API' rpc='sdwan-get-tenant-auth' mode='sync' ></call>\r
196             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
197                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-port.json'`" />\r
198                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/ports'`" />\r
199                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
200                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
201                 <parameter name="format" value="json"/>\r
202                 <parameter name="httpMethod" value="post"/>\r
203                 <parameter name="responsePrefix" value="portResp"/>\r
204                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
205                 <parameter name="trustStorePassword" value="adminadmin"/>\r
206                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
207                 <parameter name="keyStorePassword" value="adminadmin"/>\r
208                 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
209                 <outcome value='failure'>\r
210                     <return status='failure'>\r
211                         <parameter name='ack-final' value='Y'/>\r
212                         <parameter name="error-code" value="500" />\r
213                         <parameter name="error-message" value="Error executing Create device port rest api" />\r
214                     </return>\r
215                 </outcome>\r
216                 <outcome value='success'>\r
217                     <block atomic="true"></block>\r
218                 </outcome>\r
219             </execute>\r
220             <set>\r
221                 <parameter name='prop.wan.devicePortId' value='`$portResp.success[0].id`' />\r
222             </set>\r
223             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
224                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/network-orchestration-resources'`" />\r
225                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
226                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
227                 <parameter name="format" value="json"/>\r
228                 <parameter name="httpMethod" value="get"/>\r
229                 <parameter name="responsePrefix" value="transportNetworksResp"/>\r
230                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
231                 <parameter name="trustStorePassword" value="adminadmin"/>\r
232                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
233                 <parameter name="keyStorePassword" value="adminadmin"/>\r
234                 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
235                 <outcome value='failure'>\r
236                     <return status='failure'>\r
237                         <parameter name='ack-final' value='Y'/>\r
238                         <parameter name="error-code" value="500" />\r
239                         <parameter name="error-message" value="Error executing Get transport network info rest api" />\r
240                     </return>\r
241                 </outcome>\r
242                 <outcome value='success'>\r
243                     <block atomic="true"></block>\r
244                 </outcome>\r
245             </execute>\r
246             <for index="tidx" start="0" end="`$transportNetworksResp.data.transportNetworks_length`">\r
247                 <block>\r
248                     <switch test="`$transportNetworksResp.data.transportNetworks[$tidx].name == $prop.wan.transportNetworkName`">\r
249                         <outcome value='true'>\r
250                             <set>\r
251                                 <parameter name='prop.wan.transportNetworkId' value='`$transportNetworksResp.data.transportNetworks[$tidx].id`' />\r
252                             </set>\r
253                         </outcome>\r
254                     </switch>\r
255                 </block>\r
256             </for>\r
257             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
258                 <parameter name="original_string" value='`$prop.wan.ipAddress`'/>\r
259                 <parameter name="regex" value="/"/>\r
260                 <parameter name="ctx_memory_result_key" value="ipandMask"/>\r
261                 <outcome value='success'>\r
262                     <set>\r
263                         <parameter name='prop.wan.ip-address' value='`$ipandMask[0]`' />\r
264                         <parameter name='prop.wan.prefixLength' value='`$ipandMask[1]`' />\r
265                     </set>\r
266                 </outcome>\r
267                 <outcome value='failure'>\r
268                     <return status='failure'>\r
269                         <parameter name='error-code' value='' />\r
270                         <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
271                     </return>\r
272                 </outcome>\r
273             </execute>\r
274             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
275                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-wan-port.json'`" />\r
276                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/transport-network-ports'`" />\r
277                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
278                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
279                 <parameter name="format" value="json"/>\r
280                 <parameter name="httpMethod" value="post"/>\r
281                 <parameter name="responsePrefix" value="wanPortResp"/>\r
282                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
283                 <parameter name="trustStorePassword" value="adminadmin"/>\r
284                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
285                 <parameter name="keyStorePassword" value="adminadmin"/>\r
286                 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
287                 <outcome value='failure'>\r
288                     <block atomic="true"></block>\r
289                 </outcome>\r
290                 <outcome value='success'>\r
291                     <block atomic="true">\r
292                         <set>\r
293                             <parameter name='prop.wan.wanPortId' value='`$wanPortResp.success[0].id`' />\r
294                         </set>\r
295                     </block>\r
296                 </outcome>\r
297             </execute>\r
298             <set>\r
299                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value='devicePortId' />\r
300                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$prop.wan.devicePortId`' />\r
301                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' />\r
302             </set>\r
303             <set>\r
304                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value='wanPortId' />\r
305                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$prop.wan.wanPortId`' />\r
306                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' />\r
307             </set>\r
308             <set>\r
309                 <!--parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' /-->\r
310                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\r
311                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\r
312                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\r
313             </set>\r
314             <set>\r
315                 <parameter name='vnfId' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
316                 <parameter name="vnf-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $vnf-topology-operation-input.service-information.service-instance-id  + '/service-data/vnfs/vnf/'  + $vnf-topology-operation-input.vnf-information.vnf-id  + '/vnf-data/'` " />\r
317             </set>\r
318             <set>\r
319                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.order-status' value='Active' />\r
320                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\r
321                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\r
322             </set>\r
323             <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='wan-port-config' \r
324       key='wan-port-config.wan-port-config-id = $vnf-topology-operation-input.vnf-information.vnf-id' >\r
325                 <parameter name="wan-port-config-id" value="`$vnf-topology-operation-input.vnf-information.vnf-id`" />\r
326                 <parameter name='operational-status' value='Active' />\r
327                 <parameter name='device-port-id' value='`$prop.wan.devicePortId`' />\r
328                 <parameter name='wan-port-id' value='`$prop.wan.wanPortId`' />\r
329                 <parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\r
330                 <parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\r
331                 <parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\r
332             </update>\r
333             <return status='success'>\r
334                 <parameter name="ack-final-indicator" value="Y" />\r
335                 <parameter name="error-code" value="200" />\r
336                 <parameter name="error-message" value="`$error-message`" />\r
337             </return>\r
338         </block>\r
339     </method>\r
340 </service-logic>\r