2 xmlns='http://www.onap.org/sdnc/svclogic'
3 xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='ran-slice-api' version='${project.version}'>
4 <method rpc='instantiateRANSliceReconfigure' mode='sync'>
6 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
7 <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
8 <parameter name="level" value="info" />
9 <parameter name="field1" value="Reached instantiateRANSliceReconfigure "/>
11 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
12 <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' />
13 <parameter name='target' value='dLThptPerSlice' />
14 <outcome value='true'>
16 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
17 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
18 <parameter name="level" value="info" />
19 <parameter name="field1" value="PAYLOAD contains dLThptPerSlice...Closed loop "/>
23 <parameter name='tmp.payload.numberUpdates' value='`$payloadJson.input.additionalproperties.resourceConfig.data_length`'/>
24 <parameter name="tmp.sliceProfileId" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/>
25 <parameter name='tmp.payload.sNSSAI' value='`$payloadJson.input.sliceProfile.sNSSAI`'/>
27 <for index='id1' start='0' end="`$tmp.payload.numberUpdates`" >
29 <parameter name="tmp.dLThptPerSlice" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].dLThptPerSlice`"/>
30 <parameter name="tmp.uLThptPerSlice" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].uLThptPerSlice`"/>
31 <parameter name="tmp.nearRTRICId" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].nearRTRICId`"/>
33 <switch test='`$tmp.nearRTRICId == 11 `'>
34 <outcome value='true'>
36 <parameter name='tmp.policytype.url' value='`$prop.a1.policytype.url.nearrtric11`'/>
37 <parameter name="tmp.policyinstance.url" value="`$prop.a1.policyinstance.url.nearrtric11`"/>
40 <outcome value='false'>
42 <parameter name='tmp.policytype.url' value='`$prop.a1.policytype.url.nearrtric22`'/>
43 <parameter name="tmp.policyinstance.url" value="`$prop.a1.policyinstance.url.nearrtric22`"/>
48 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
49 <parameter name="restapiUrl" value="`$tmp.policytype.url`"/>
50 <parameter name='format' value='json' />
51 <parameter name='httpMethod' value='GET' />
52 <parameter name='contentType' value='application/json' />
53 <parameter name='responsePrefix' value='get-policytypes-responsse' />
54 <outcome value='success'>
56 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
57 <parameter name='outputPath' value='tmp.policytypelength' />
58 <parameter name='source' value="`'get-policytypes-responsse._length'`" />
60 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
61 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
62 <parameter name="level" value="info" />
63 <parameter name="field1" value="policy types length "/>
64 <parameter name="field2" value="`$tmp.policytypelength`"/>
66 <switch test='`$tmp.policytypelength > 0`'>
67 <outcome value='true'>
69 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
70 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
71 <parameter name="level" value="info" />
72 <parameter name="field1" value="policy type already exists "/>
73 <parameter name="field2" value="SUCCESSFULL"/>
77 <outcome value='false'>
79 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
80 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
81 <parameter name="level" value="info" />
82 <parameter name="field1" value="creating new policy "/>
83 <parameter name="field2" value="SUCCESSFULL"/>
85 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
86 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/A1policytype.json'`" />
87 <parameter name="restapiUrl" value="https://10.31.4.11:30226/events/A1-P"/>
88 <parameter name='format' value='json' />
89 <parameter name='httpMethod' value='POST' />
90 <parameter name='contentType' value='application/json' />
91 <parameter name='responsePrefix' value='dmaap' />
92 <outcome value='success'>
94 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
95 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
96 <parameter name="level" value="info" />
97 <parameter name="field1" value="Create policytype "/>
98 <parameter name="field2" value="Succesfull"/>
106 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
107 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/A1policyinstance.json'`" />
108 <parameter name="restapiUrl" value="https://10.31.4.11:30226/events/A1-P"/>
109 <parameter name='format' value='json' />
110 <parameter name='httpMethod' value='POST' />
111 <parameter name='contentType' value='application/json' />
112 <parameter name='responsePrefix' value='dmaap-res' />
113 <outcome value='success'>
114 <block atomic='true'>
115 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
116 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
117 <parameter name="level" value="info" />
118 <parameter name="field1" value="Create policyinstance "/>
119 <parameter name="field2" value="Succesfull"/>
126 <outcome value='failure'>
127 <block atomic='true'>
128 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
129 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
130 <parameter name="level" value="info" />
131 <parameter name="field1" value="req error "/>
132 <parameter name="field2" value="Failure"/>
138 <block atomic='true'>
139 <switch test='`$prop.ransim-mounted`'>
140 <outcome value='false'>
141 <block atomic='true'>
142 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
143 <parameter name="source" value="`$prop.restapi.addSliceProfile.ToNearRTRIC`"/>
144 <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
145 <parameter name="target" value="{idNearRTRIC}"/>
146 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
148 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
149 <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
150 <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
151 <parameter name="target" value="{sliceProfileId}"/>
152 <parameter name="replacement" value="`$tmp.sliceProfileId`"/>
156 <outcome value='true'>
157 <block atomic='true'>
158 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
159 <parameter name="source" value="`$prop.restapi.addSliceProfile.ToNearRTRIC.ransim-mounted`"/>
160 <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
161 <parameter name="target" value="{idNearRTRIC}"/>
162 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
164 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
165 <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
166 <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
167 <parameter name="target" value="{sliceProfileId}"/>
168 <parameter name="replacement" value="`$tmp.sliceProfileId`"/>
170 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
171 <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
172 <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
173 <parameter name="target" value="{mountName}"/>
174 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
179 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
180 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
181 <parameter name="level" value="info" />
182 <parameter name="field1" value="Patch SliceProfile ToNearRTRIC url for closed loop:"/>
183 <parameter name="field2" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
185 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
186 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
187 <parameter name="level" value="info" />
188 <parameter name="field1" value="Setting variables for PATCH SliceProfile ToNearRTRIC - closed loop"/>
189 <parameter name="field2" value="`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
190 <parameter name="field3" value="`$tmp.dLThptPerSlice`"/>
191 <parameter name="field4" value="`$tmp.uLThptPerSlice`"/>
192 <parameter name="field5" value="`$tmp.nearRTRICId`"/>
193 <parameter name="field6" value="`$tmp.sliceProfileId`"/>
195 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
196 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-patch.json'`" />
197 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
198 <parameter name="restapiUser" value="`$prop.controller.user`" />
199 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
200 <parameter name="httpMethod" value="PATCH"/>
201 <parameter name="responsePrefix" value="nearRTRIC-slice-patch-response"/>
202 <parameter name='contentType' value='application/yang.patch+json' />
203 <parameter name='format' value='json' />
204 <parameter name='accept' value='application/yang.patch-status+json' />
205 <outcome value='failure'>
208 <parameter name='error-code' value='500'/>
209 <parameter name='error-message' value='Error Patching slice profile parms for close loop. Exiting close loop operation'/>
211 <return status='failure'>
212 <parameter name='ack-final' value='Y'/>
213 <parameter name='error-code' value='500'/>
214 <parameter name='error-message' value='Error Patching slice profile parms for close loop. Exiting close loop operation'/>
216 <block atomic='true'>
218 <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
219 <parameter name="tmp.status" value="`$error-code`"/>
220 <parameter name="tmp.reason" value="`$error-message`"/>
221 <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
222 <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
224 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
225 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
226 <parameter name="level" value="info" />
227 <parameter name="field1" value="URL for SO Callback Response"/>
228 <parameter name='field2' value="`$tmp.so.callbackURL`" />
229 <parameter name='field3' value="`$tmp.status`" />
230 <parameter name='field4' value="`$tmp.reason`" />
231 <parameter name='field5' value="`$tmp.requestID`" />
232 <parameter name='field6' value="`$tmp.action`" />
233 <parameter name='field7' value="`$tmp.CUCPList`" />
234 <parameter name='field8' value="`$tmp.CUUPList`" />
235 <parameter name='field9' value="`$tmp.DUList`" />
237 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
238 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
239 <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
240 <parameter name="httpMethod" value="POST"/>
241 <parameter name="responsePrefix" value="so-callback-response"/>
242 <parameter name='contentType' value='application/json' />
243 <parameter name='format' value='json' />
244 <parameter name='accept' value='*/*' />
245 <outcome value='failure'>
247 <return status='failure'>
248 <parameter name='ack-final' value='Y'/>
249 <parameter name="error-code" value="500" />
250 <parameter name="error-message" value="Error sending SO Response" />
254 <outcome value='success'>
256 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
257 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
258 <parameter name="level" value="info" />
259 <parameter name="field1" value="SO Response Sent "/>
267 <outcome value='success'>
269 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
270 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
271 <parameter name="level" value="info" />
272 <parameter name="field1" value="Successfully PATCHED NearRTRIC for close loop operation"/>
274 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
275 <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedloop-nearRTRIC-context.log' />
281 <block atomic='true'>
282 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
283 <parameter name="source" value="`$prop.restapi.configdb.getplmn`"/>
284 <parameter name="outputPath" value="tmp.configdb.getPLMNId.url"/>
285 <parameter name="target" value="{sliceProfileId}"/>
286 <parameter name="replacement" value="`$tmp.sliceProfileId`"/>
288 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
289 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
290 <parameter name="level" value="info" />
291 <parameter name="field1" value="Get PLMN from SliceProfileId URL: "/>
292 <parameter name="field2" value="`$tmp.configdb.getPLMNId.url`"/>
294 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
295 <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getPLMNId.url`"/>
296 <parameter name="httpMethod" value="GET"/>
297 <parameter name="responsePrefix" value="getPLMN-CL-configdb-response"/>
298 <parameter name='contentType' value='application/json' />
299 <parameter name='format' value='json' />
300 <parameter name='accept' value='application/json' />
301 <parameter name="convertResponse" value="true"/>
302 <outcome value='success'>
303 <block atomic='true'>
304 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
305 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
306 <parameter name="level" value="info" />
307 <parameter name="field1" value="Successfully Obtained PLMNId info from ConfigDB"/>
308 <parameter name="field2" value="`$getPLMN-CL-configdb-response`"/>
310 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
311 <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-configrsp-context.log' />
315 <outcome value='failure'>
316 <block atomic='true'>
318 <parameter name='error-code' value='500'/>
319 <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
321 <return status='failure'>
322 <parameter name='ack-final' value='Y'/>
323 <parameter name='error-code' value='500'/>
324 <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
326 <block atomic='true'>
328 <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
329 <parameter name="tmp.status" value="`$error-code`"/>
330 <parameter name="tmp.reason" value="`$error-message`"/>
331 <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
332 <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
334 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
335 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
336 <parameter name="level" value="info" />
337 <parameter name="field1" value="URL for SO Callback Response"/>
338 <parameter name='field2' value="`$tmp.so.callbackURL`" />
339 <parameter name='field3' value="`$tmp.status`" />
340 <parameter name='field4' value="`$tmp.reason`" />
341 <parameter name='field5' value="`$tmp.requestID`" />
342 <parameter name='field6' value="`$tmp.action`" />
343 <parameter name='field7' value="`$tmp.CUCPList`" />
344 <parameter name='field8' value="`$tmp.CUUPList`" />
345 <parameter name='field9' value="`$tmp.DUList`" />
347 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
348 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
349 <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
350 <parameter name="httpMethod" value="POST"/>
351 <parameter name="responsePrefix" value="so-callback-response"/>
352 <parameter name='contentType' value='application/json' />
353 <parameter name='format' value='json' />
354 <parameter name='accept' value='*/*' />
355 <outcome value='failure'>
357 <return status='failure'>
358 <parameter name='ack-final' value='Y'/>
359 <parameter name="error-code" value="500" />
360 <parameter name="error-message" value="Error sending SO Response" />
364 <outcome value='success'>
366 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
367 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
368 <parameter name="level" value="info" />
369 <parameter name="field1" value="SO Response Sent "/>
379 <parameter name='tmp.pLMNId' value='`$getPLMN-CL-configdb-response.plmnId`'/>
381 <block atomic="true">
382 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
383 <parameter name="original_string" value="`$tmp.pLMNId`" />
384 <parameter name="regex" value="-"/>
385 <parameter name="ctx_memory_result_key" value="tmp.plmnList" />
388 <parameter name='tmp.mcc' value='`$tmp.plmnList[0]`'/>
389 <parameter name='tmp.mnc' value='`$tmp.plmnList[1]`'/>
392 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
393 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
394 <parameter name="level" value="info" />
395 <parameter name="field1" value="`$tmp.pLMNId`"/>
396 <parameter name="field2" value="`$tmp.mcc`"/>
397 <parameter name="field3" value="`$tmp.mnc`"/>
400 <block atomic="true">
401 <switch test='`$prop.ransim-mounted`'>
402 <outcome value='false'>
403 <block atomic='true'>
404 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
405 <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC`"/>
406 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
407 <parameter name="target" value="{idNearRTRIC}"/>
408 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
412 <outcome value='true'>
413 <block atomic='true'>
414 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
415 <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC.ransim-mounted`"/>
416 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
417 <parameter name="target" value="{idNearRTRIC}"/>
418 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
420 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
421 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
422 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
423 <parameter name="target" value="{mountName}"/>
424 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
429 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
430 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
431 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
432 <parameter name="target" value="{mcc}"/>
433 <parameter name="replacement" value="`$tmp.mcc`"/>
435 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
436 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
437 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
438 <parameter name="target" value="{mnc}"/>
439 <parameter name="replacement" value="`$tmp.mnc`"/>
441 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
442 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
443 <parameter name="level" value="info" />
444 <parameter name="field1" value="Closed loop API params"/>
445 <parameter name="field2" value="`$tmp.nearRTRICId`"/>
446 <parameter name="field3" value="`$tmp.mcc`"/>
447 <parameter name="field4" value="`$tmp.mnc`"/>
448 <parameter name="field5" value="`$tmp.payload.sNSSAI`"/>
449 <parameter name="field6" value="`$tmp.uLThptPerSlice`"/>
450 <parameter name="field7" value="`$tmp.dLThptPerSlice`"/>
452 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
453 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-config-patch.json'`" />
454 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
455 <parameter name="restapiUser" value="`$prop.controller.user`" />
456 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
457 <parameter name="httpMethod" value="PATCH"/>
458 <parameter name="responsePrefix" value="patch-nearRTRIC-config-response"/>
459 <parameter name='contentType' value='application/yang.patch+json' />
460 <parameter name='accept' value='application/yang.patch-status+json'/>
461 <parameter name='format' value='json' />
462 <outcome value='success'>
463 <block atomic='true'>
464 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
465 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
466 <parameter name="level" value="info" />
467 <parameter name="field1" value="Successfully patched NearRTRIC configuration"/>
471 <outcome value='failure'>
473 <block atomic='true'>
475 <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
476 <parameter name="tmp.status" value="`$error-code`"/>
477 <parameter name="tmp.reason" value="`$error-message`"/>
478 <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
479 <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
481 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
482 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
483 <parameter name="level" value="info" />
484 <parameter name="field1" value="URL for SO Callback Response"/>
485 <parameter name='field2' value="`$tmp.so.callbackURL`" />
486 <parameter name='field3' value="`$tmp.status`" />
487 <parameter name='field4' value="`$tmp.reason`" />
488 <parameter name='field5' value="`$tmp.requestID`" />
489 <parameter name='field6' value="`$tmp.action`" />
490 <parameter name='field7' value="`$tmp.CUCPList`" />
491 <parameter name='field8' value="`$tmp.CUUPList`" />
492 <parameter name='field9' value="`$tmp.DUList`" />
494 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
495 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
496 <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
497 <parameter name="httpMethod" value="POST"/>
498 <parameter name="responsePrefix" value="so-callback-response"/>
499 <parameter name='contentType' value='application/json' />
500 <parameter name='format' value='json' />
501 <parameter name='accept' value='*/*' />
502 <outcome value='failure'>
504 <return status='failure'>
505 <parameter name='ack-final' value='Y'/>
506 <parameter name="error-code" value="500" />
507 <parameter name="error-message" value="Error sending SO Response" />
511 <outcome value='success'>
513 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
514 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
515 <parameter name="level" value="info" />
516 <parameter name="field1" value="SO Response Sent "/>
523 <parameter name='error-code' value='500'/>
524 <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
526 <return status='failure'>
527 <parameter name='ack-final' value='Y'/>
528 <parameter name='error-code' value='500'/>
529 <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
539 <outcome value='false'>
540 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
541 <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' />
542 <parameter name='target' value='maxNumberofConns' />
543 <outcome value='true'>
544 <block atomic="true">
545 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
546 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
547 <parameter name="level" value="info" />
548 <parameter name="field1" value="PAYLOAD contains maxNumberofConns...Inntelligent Slicing "/>
551 <parameter name='tmp.payload.dataPoints' value='`$payloadJson.input.additionalproperties.resourceConfig.data_length`'/>
552 <parameter name="tmp.payload.sNSSAI" value="`$payloadJson.input.additionalproperties.resourceConfig.snssai`"/>
553 <parameter name="tmp.sliceProfileId" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/>
555 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
556 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
557 <parameter name="level" value="info" />
558 <parameter name="field1" value="Data length "/>
559 <parameter name="field2" value="`$tmp.payload.dataPoints`"/>
561 <block atomic="true">
562 <block atomic='true'>
563 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
564 <parameter name="source" value="`$prop.restapi.configdb.getplmn`"/>
565 <parameter name="outputPath" value="tmp.configdb.getPLMNId.url"/>
566 <parameter name="target" value="{sliceProfileId}"/>
567 <parameter name="replacement" value="`$tmp.sliceProfileId`"/>
569 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
570 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
571 <parameter name="level" value="info" />
572 <parameter name="field1" value="Get PLMN from SliceProfileId URL: "/>
573 <parameter name="field2" value="`$tmp.configdb.getPLMNId.url`"/>
575 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
576 <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getPLMNId.url`"/>
577 <parameter name="httpMethod" value="GET"/>
578 <parameter name="responsePrefix" value="getPLMN-CL-configdb-response"/>
579 <parameter name='contentType' value='application/json' />
580 <parameter name='format' value='json' />
581 <parameter name='accept' value='application/json' />
582 <parameter name="convertResponse" value="true"/>
583 <outcome value='success'>
584 <block atomic='true'>
585 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
586 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
587 <parameter name="level" value="info" />
588 <parameter name="field1" value="Successfully Obtained PLMNId info from ConfigDB"/>
589 <parameter name="field2" value="`$getPLMN-CL-configdb-response`"/>
591 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
592 <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-configrsp-context.log' />
596 <outcome value='failure'>
597 <block atomic='true'>
599 <parameter name='error-code' value='500'/>
600 <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
602 <return status='failure'>
603 <parameter name='ack-final' value='Y'/>
604 <parameter name='error-code' value='500'/>
605 <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
607 <block atomic='true'>
609 <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
610 <parameter name="tmp.status" value="`$error-code`"/>
611 <parameter name="tmp.reason" value="`$error-message`"/>
612 <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
613 <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
615 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
616 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
617 <parameter name="level" value="info" />
618 <parameter name="field1" value="URL for SO Callback Response"/>
619 <parameter name='field2' value="`$tmp.so.callbackURL`" />
620 <parameter name='field3' value="`$tmp.status`" />
621 <parameter name='field4' value="`$tmp.reason`" />
622 <parameter name='field5' value="`$tmp.requestID`" />
623 <parameter name='field6' value="`$tmp.action`" />
624 <parameter name='field7' value="`$tmp.CUCPList`" />
625 <parameter name='field8' value="`$tmp.CUUPList`" />
626 <parameter name='field9' value="`$tmp.DUList`" />
628 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
629 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
630 <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
631 <parameter name="httpMethod" value="POST"/>
632 <parameter name="responsePrefix" value="so-callback-response"/>
633 <parameter name='contentType' value='application/json' />
634 <parameter name='format' value='json' />
635 <parameter name='accept' value='*/*' />
636 <outcome value='failure'>
638 <return status='failure'>
639 <parameter name='ack-final' value='Y'/>
640 <parameter name="error-code" value="500" />
641 <parameter name="error-message" value="Error sending SO Response" />
645 <outcome value='success'>
647 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
648 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
649 <parameter name="level" value="info" />
650 <parameter name="field1" value="SO Response Sent "/>
660 <parameter name='tmp.pLMNId' value='`$getPLMN-CL-configdb-response.plmnId`'/>
662 <block atomic="true">
663 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
664 <parameter name="original_string" value="`$tmp.pLMNId`" />
665 <parameter name="regex" value="-"/>
666 <parameter name="ctx_memory_result_key" value="tmp.plmnList" />
669 <parameter name='tmp.mcc' value='`$tmp.plmnList[0]`'/>
670 <parameter name='tmp.mnc' value='`$tmp.plmnList[1]`'/>
673 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
674 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
675 <parameter name="level" value="info" />
676 <parameter name="field1" value="`$tmp.pLMNId`"/>
677 <parameter name="field2" value="`$tmp.mcc`"/>
678 <parameter name="field3" value="`$tmp.mnc`"/>
681 <for index='id-is' start='0' end="`$tmp.payload.dataPoints`" >
682 <block atomic="true">
684 <parameter name="tmp.nearRTRICId" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id-is].nearRTRICId`"/>
686 <switch test='`$prop.ransim-mounted`'>
687 <outcome value='false'>
688 <block atomic='true'>
689 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
690 <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC`"/>
691 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
692 <parameter name="target" value="{idNearRTRIC}"/>
693 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
697 <outcome value='true'>
698 <block atomic='true'>
699 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
700 <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC.ransim-mounted`"/>
701 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
702 <parameter name="target" value="{idNearRTRIC}"/>
703 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
705 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
706 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
707 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
708 <parameter name="target" value="{mountName}"/>
709 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
714 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
715 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
716 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
717 <parameter name="target" value="{mcc}"/>
718 <parameter name="replacement" value="`$tmp.mcc`"/>
720 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
721 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
722 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
723 <parameter name="target" value="{mnc}"/>
724 <parameter name="replacement" value="`$tmp.mnc`"/>
726 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
727 <parameter name='outputPath' value='tmp.CUCellListEntries' />
728 <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList_length'`" />
730 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
731 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
732 <parameter name="level" value="info" />
733 <parameter name="field1" value="CUCEll List length "/>
734 <parameter name="field2" value="`$tmp.CUCellListEntries`"/>
736 <for index='id2' start='0' end="`$tmp.CUCellListEntries`" >
737 <block atomic="true">
738 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
739 <parameter name='outputPath' value='tmp.cellLocalId' />
740 <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList['+$id2+'].cellLocalId'`" />
742 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>
743 <parameter name="source" value="`$tmp.cellLocalId`" />
744 <parameter name="target" value="-maxNumberofConns"/>
745 <parameter name="outputPath" value="tmp.cellLocalId" />
747 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
748 <parameter name='outputPath' value='tmp.predictedMaxNumberofConns' />
749 <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList['+$id2+'].configData.predictedMaxNumberofConns'`" />
751 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
752 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
753 <parameter name="level" value="info" />
754 <parameter name="field1" value="cellLocalId"/>
755 <parameter name="field2" value="`$tmp.cellLocalId`"/>
757 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
758 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-config-patch.json'`" />
759 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
760 <parameter name="restapiUser" value="`$prop.controller.user`" />
761 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
762 <parameter name="httpMethod" value="PATCH"/>
763 <parameter name="responsePrefix" value="patch-nearRTRIC-config-response"/>
764 <parameter name='contentType' value='application/yang.patch+json' />
765 <parameter name='accept' value='application/yang.patch-status+json'/>
766 <parameter name='format' value='json' />
767 <outcome value='success'>
768 <block atomic='true'>
769 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
770 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
771 <parameter name="level" value="info" />
772 <parameter name="field1" value="Successfully patched NearRTRIC configuration"/>
776 <outcome value='failure'>
778 <block atomic='true'>
780 <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
781 <parameter name="tmp.status" value="`$error-code`"/>
782 <parameter name="tmp.reason" value="`$error-message`"/>
783 <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
784 <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
786 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
787 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
788 <parameter name="level" value="info" />
789 <parameter name="field1" value="URL for SO Callback Response"/>
790 <parameter name='field2' value="`$tmp.so.callbackURL`" />
791 <parameter name='field3' value="`$tmp.status`" />
792 <parameter name='field4' value="`$tmp.reason`" />
793 <parameter name='field5' value="`$tmp.requestID`" />
794 <parameter name='field6' value="`$tmp.action`" />
795 <parameter name='field7' value="`$tmp.CUCPList`" />
796 <parameter name='field8' value="`$tmp.CUUPList`" />
797 <parameter name='field9' value="`$tmp.DUList`" />
799 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
800 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
801 <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
802 <parameter name="httpMethod" value="POST"/>
803 <parameter name="responsePrefix" value="so-callback-response"/>
804 <parameter name='contentType' value='application/json' />
805 <parameter name='format' value='json' />
806 <parameter name='accept' value='*/*' />
807 <outcome value='failure'>
809 <return status='failure'>
810 <parameter name='ack-final' value='Y'/>
811 <parameter name="error-code" value="500" />
812 <parameter name="error-message" value="Error sending SO Response" />
816 <outcome value='success'>
818 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
819 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
820 <parameter name="level" value="info" />
821 <parameter name="field1" value="SO Response Sent "/>
828 <parameter name='error-code' value='500'/>
829 <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
831 <return status='failure'>
832 <parameter name='ack-final' value='Y'/>
833 <parameter name='error-code' value='500'/>
834 <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
849 <block atomic='true'>
851 <parameter name="tmp.status" value="`$error-code`"/>
852 <parameter name="tmp.reason" value="`$error-message`"/>
853 <parameter name="tmp.requestID" value="`$instantiate-r-a-n-slice-input.common-header.request-id `"/>
854 <parameter name="tmp.action" value="`$instantiate-r-a-n-slice-input.action`"/>
856 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
857 <parameter name="source" value="`$prop.restapi.so.callbackURL`"/>
858 <parameter name="outputPath" value="tmp.so.callbackURL"/>
859 <parameter name="target" value="{requestId}"/>
860 <parameter name="replacement" value="`$tmp.requestID`"/>
862 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
863 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
864 <parameter name="level" value="info" />
865 <parameter name="field1" value="URL for SO Callback Response"/>
866 <parameter name='field2' value="`$payloadJson.input.callbackURL`" />
867 <parameter name='field3' value="`$tmp.status`" />
868 <parameter name='field4' value="`$tmp.reason`" />
869 <parameter name='field5' value="`$tmp.requestID`" />
870 <parameter name='field6' value="`$tmp.action`" />
871 <parameter name='field7' value="`$tmp.CUCPList`" />
872 <parameter name='field8' value="`$tmp.CUUPList`" />
873 <parameter name='field9' value="`$tmp.DUList`" />
875 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
876 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
877 <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/>
878 <parameter name="httpMethod" value="POST"/>
879 <parameter name="responsePrefix" value="so-callback-response"/>
880 <parameter name='contentType' value='application/json' />
881 <parameter name='format' value='json' />
882 <parameter name='accept' value='*/*' />
883 <parameter name="restapiUser" value="`$prop.restapi.so.user`" />
884 <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/>
885 <outcome value='failure'>
888 <parameter name='error-code' value='500'/>
889 <parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/>
891 <return status='failure'>
892 <parameter name='ack-final' value='Y'/>
893 <parameter name="error-code" value="500" />
894 <parameter name="error-message" value="Error sending SO Response" />
898 <outcome value='success'>
900 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
901 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
902 <parameter name="level" value="info" />
903 <parameter name="field1" value="SO Response Sent "/>
909 <return status='success'>
910 <parameter name="ack-final" value="N" />
911 <parameter name="error-code" value="200" />
912 <parameter name="error-message" value="SUCCESSFUL Execution" />