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`"/>
26 <for index='id1' start='0' end="`$tmp.payload.numberUpdates`" >
28 <parameter name="tmp.dLThptPerSlice" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].dLThptPerSlice`"/>
29 <parameter name="tmp.uLThptPerSlice" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].uLThptPerSlice`"/>
30 <parameter name="tmp.nearRTRICId" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].nearRTRICId`"/>
33 <switch test='`$prop.ransim-mounted`'>
34 <outcome value='false'>
36 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
37 <parameter name="source" value="`$prop.restapi.addSliceProfile.ToNearRTRIC`"/>
38 <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
39 <parameter name="target" value="{idNearRTRIC}"/>
40 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
42 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
43 <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
44 <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
45 <parameter name="target" value="{sliceProfileId}"/>
46 <parameter name="replacement" value="`$tmp.sliceProfileId`"/>
50 <outcome value='true'>
52 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
53 <parameter name="source" value="`$prop.restapi.addSliceProfile.ToNearRTRIC.ransim-mounted`"/>
54 <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
55 <parameter name="target" value="{idNearRTRIC}"/>
56 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
58 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
59 <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
60 <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
61 <parameter name="target" value="{sliceProfileId}"/>
62 <parameter name="replacement" value="`$tmp.sliceProfileId`"/>
64 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
65 <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
66 <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
67 <parameter name="target" value="{mountName}"/>
68 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
73 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
74 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
75 <parameter name="level" value="info" />
76 <parameter name="field1" value="Patch SliceProfile ToNearRTRIC url for closed loop:"/>
77 <parameter name="field2" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
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="Setting variables for PATCH SliceProfile ToNearRTRIC - closed loop"/>
83 <parameter name="field2" value="`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
84 <parameter name="field3" value="`$tmp.dLThptPerSlice`"/>
85 <parameter name="field4" value="`$tmp.uLThptPerSlice`"/>
86 <parameter name="field5" value="`$tmp.nearRTRICId`"/>
87 <parameter name="field6" value="`$tmp.sliceProfileId`"/>
89 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
90 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-patch.json'`" />
91 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
92 <parameter name="restapiUser" value="`$prop.controller.user`" />
93 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
94 <parameter name="httpMethod" value="PATCH"/>
95 <parameter name="responsePrefix" value="nearRTRIC-slice-patch-response"/>
96 <parameter name='contentType' value='application/yang.patch+json' />
97 <parameter name='format' value='json' />
98 <parameter name='accept' value='application/yang.patch-status+json' />
99 <outcome value='failure'>
102 <parameter name='error-code' value='500'/>
103 <parameter name='error-message' value='Error Patching slice profile parms for close loop. Exiting close loop operation'/>
105 <return status='failure'>
106 <parameter name='ack-final' value='Y'/>
107 <parameter name='error-code' value='500'/>
108 <parameter name='error-message' value='Error Patching slice profile parms for close loop. Exiting close loop operation'/>
112 <outcome value='success'>
114 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
115 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
116 <parameter name="level" value="info" />
117 <parameter name="field1" value="Successfully PATCHED NearRTRIC for close loop operation"/>
119 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
120 <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedloop-nearRTRIC-context.log' />
130 <outcome value='false'>
131 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
132 <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' />
133 <parameter name='target' value='maxNumberofConns' />
134 <outcome value='true'>
135 <block atomic="true">
136 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
137 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
138 <parameter name="level" value="info" />
139 <parameter name="field1" value="PAYLOAD contains maxNumberofConns...Inntelligent Slicing "/>
141 <block atomic="true">
143 <parameter name='tmp.payload.dataPoints' value='`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data_length`'/>
144 <parameter name="tmp.sNssai" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.snssai`"/>
145 <parameter name="tmp.sliceProfileId" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/>
147 <for index='id1' start='0' end="`$tmp.payload.dataPoints`" >
148 <block atomic='true'>
150 <parameter name="tmp.cellCUListNumbers" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList_length`"/>
151 <parameter name="tmp.gNBCUName" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].gNBCUName`"/>
152 <parameter name="tmp.nearRTRICId" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].nearRTRICId`"/>
154 <for index='id2' start='0' end="`$tmp.cellCUListNumbers`" >
156 <parameter name="tmp.maxNumberofConns" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList[$id2].configData.maxNumberofConns`"/>
157 <parameter name="tmp.cellLocalId" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList[$id2].cellLocalId`"/>
158 <parameter name="tmp.lastUpdatedTS" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList[$id2].configData.lastUpdatedTS`"/>
159 <parameter name="tmp.predictedMaxNumberofConns" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList[$id2].configData.predictedMaxNumberofConns`"/>
161 <switch test='`$prop.ransim-mounted`'>
162 <outcome value='false'>
163 <block atomic='true'>
164 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
165 <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNRCellCU`"/>
166 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
167 <parameter name="target" value="{idNearRTRIC}"/>
168 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
170 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
171 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
172 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
173 <parameter name="target" value="{idGNBCUCPFunction}"/>
174 <parameter name="replacement" value="`$tmp.gNBCUName`"/>
176 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
177 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
178 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
179 <parameter name="target" value="{idNRCellCU}"/>
180 <parameter name="replacement" value="`$tmp.cellLocalId`"/>
182 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
183 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
184 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
185 <parameter name="target" value="{sNssai}"/>
186 <parameter name="replacement" value="`$tmp.sNssai`"/>
190 <outcome value='true'>
191 <block atomic='true'>
192 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
193 <parameter name="source" value="`$prop.restapi.addSliceProfile.ToNearRTRIC.ransim-mounted`"/>
194 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
195 <parameter name="target" value="{idNearRTRIC}"/>
196 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
198 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
199 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
200 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
201 <parameter name="target" value="{idGNBCUCPFunction}"/>
202 <parameter name="replacement" value="`$tmp.gNBCUName`"/>
204 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
205 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
206 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
207 <parameter name="target" value="{mountName}"/>
208 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
210 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
211 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
212 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
213 <parameter name="target" value="{idNRCellCU}"/>
214 <parameter name="replacement" value="`$tmp.cellLocalId`"/>
216 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
217 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
218 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
219 <parameter name="target" value="{sNssai}"/>
220 <parameter name="replacement" value="`$tmp.sNssai`"/>
225 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
226 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
227 <parameter name="level" value="info" />
228 <parameter name="field1" value="Update NRCELLCU config url for Intelligent slicing:"/>
229 <parameter name="field2" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
231 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
232 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
233 <parameter name="level" value="info" />
234 <parameter name="field1" value="Setting variables for updating NRCELLCU - Intelligent Slicing"/>
235 <parameter name="field2" value="`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
236 <parameter name="field3" value="`$tmp.nearRTRICId`"/>
237 <parameter name="field4" value="`$tmp.gNBCUName`"/>
238 <parameter name="field5" value="`$tmp.sNssai`"/>
239 <parameter name="field6" value="`$tmp.maxNumberofConns`"/>
240 <parameter name="field7" value="`$tmp.cellLocalId`"/>
241 <parameter name="field8" value="`$tmp.lastUpdatedTS`"/>
242 <parameter name="field9" value="`$tmp.predictedMaxNumberofConns`"/>
244 <block atomic='true'>
245 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
246 <parameter name="source" value="`$prop.restapi.configdb.getplmn`"/>
247 <parameter name="outputPath" value="tmp.configdb.getplmn.url"/>
248 <parameter name="target" value="{sliceProfileId}"/>
249 <parameter name="replacement" value="`$tmp.sliceProfileId`"/>
251 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
252 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
253 <parameter name="level" value="info" />
254 <parameter name="field1" value="URL for configDB Get PLMN for slice profile ID"/>
255 <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.getplmn.url`" />
256 <parameter name='field3' value="`$tmp.sliceProfileId`" />
258 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
259 <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getplmn.url`"/>
260 <parameter name="httpMethod" value="GET"/>
261 <parameter name="responsePrefix" value="getplmn-configdb-response"/>
262 <parameter name='contentType' value='application/json' />
263 <parameter name='format' value='json' />
264 <parameter name='accept' value='application/json' />
265 <parameter name="convertResponse" value="false"/>
266 <outcome value='failure'>
269 <parameter name='error-code' value='500'/>
270 <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
272 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
273 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
274 <parameter name="level" value="info" />
275 <parameter name="field1" value="Failed to Obtain PLMN from configDB"/>
277 <return status='failure'>
278 <parameter name='ack-final' value='Y'/>
279 <parameter name='error-code' value='500'/>
280 <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
284 <outcome value='success'>
286 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
287 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
288 <parameter name="level" value="info" />
289 <parameter name="field1" value="Successfully Obtained PLMN from configDB"/>
290 <parameter name="field2" value="`$getplmn-configdb-response.httpResponse`"/>
292 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
293 <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-intelligentslicing-configrsp-context.log' />
295 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>
296 <parameter name="string" value="`$getplmn-configdb-response.httpResponse`" />
297 <parameter name="result" value="tmp.mcc"/>
298 <parameter name="begin-index" value="0" />
299 <parameter name="end-index" value="3" />
301 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>
302 <parameter name="string" value="`$getplmn-configdb-response.httpResponse`" />
303 <parameter name="result" value="tmp.mnc"/>
304 <parameter name="begin-index" value="4" />
306 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
307 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
308 <parameter name="level" value="info" />
309 <parameter name="field1" value="mcc: "/>
310 <parameter name="field2" value="`$tmp.mcc`"/>
311 <parameter name="field3" value="mnc: "/>
312 <parameter name="field4" value="`$tmp.mnc`"/>
318 <block atomic='true'>
319 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
320 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
321 <parameter name="level" value="info" />
322 <parameter name="field1" value="mcc: "/>
323 <parameter name="field2" value="`$tmp.mcc`"/>
324 <parameter name="field3" value="mnc: "/>
325 <parameter name="field4" value="`$tmp.mnc`"/>
327 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
328 <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-intelligent-nearRTRIC-context2.log' />
330 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
331 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
332 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
333 <parameter name="target" value="{mcc}"/>
334 <parameter name="replacement" value="`$tmp.mcc`"/>
336 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
337 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
338 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
339 <parameter name="target" value="{mnc}"/>
340 <parameter name="replacement" value="`$tmp.mnc`"/>
342 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
343 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
344 <parameter name="level" value="info" />
345 <parameter name="field1" value="URL for update NRCELLCU "/>
346 <parameter name="field2" value="`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
347 <parameter name="field3" value="sNSSAI: "/>
348 <parameter name="field4" value="`$payloadJson.input.sliceProfile.sNSSAI`"/>
349 <parameter name="field5" value="maxNumberOfConns: "/>
350 <parameter name="field6" value="`$tmp.maxNumberOfConns`"/>
351 <parameter name="field7" value="predictedMaxNumberofConns: "/>
352 <parameter name="field8" value="`$tmp.predictedMaxNumberofConns`"/>
354 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
355 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-intelligent-update-NRCellCU-configData.json'`" />
356 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
357 <parameter name="restapiUser" value="`$prop.controller.user`" />
358 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
359 <parameter name="httpMethod" value="PUT"/>
360 <parameter name="responsePrefix" value="nrcellcu-response"/>
361 <parameter name='contentType' value='application/json' />
362 <parameter name='format' value='json' />
363 <outcome value='failure'>
365 <return status='failure'>
366 <parameter name='ack-final' value='Y'/>
367 <parameter name="error-code" value="500" />
368 <parameter name="error-message" value="Error updating NRCellCU config for intelligent slicing" />
372 <outcome value='success'>
374 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
375 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
376 <parameter name="level" value="info" />
377 <parameter name="field1" value="Update NRCellCU config for intelligent slicing Executed Successfully "/>
392 <return status='success'>
393 <parameter name="ack-final" value="N" />
394 <parameter name="error-code" value="200" />
395 <parameter name="error-message" value="SUCCESSFUL Execution" />