fix odl patches
[ccsdk/distribution.git] / platform-logic / ran-slice-api / src / main / xml / ran-slice-api_instantiateRANSliceReconfigure.xml
1 <service-logic
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'>
5         <block atomic='true'>
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 "/>
10             </record>
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'>
15                     <block atomic="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 "/>
20                         </record>
21                         <block atomic="true">
22                             <set>
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`'/>
26                             </set>
27                             <for index='id1' start='0' end="`$tmp.payload.numberUpdates`" >
28                                 <set>
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`"/>
32                                 </set>
33                                 <switch test='`$tmp.nearRTRICId == 11 `'>
34                                     <outcome value='true'>
35                                         <set>
36                                             <parameter name='tmp.policytype.url' value='`$prop.a1.policytype.url.nearrtric11`'/>
37                                             <parameter name="tmp.policyinstance.url" value="`$prop.a1.policyinstance.url.nearrtric11`"/>
38                                         </set>
39                                     </outcome>
40                                     <outcome value='false'>
41                                         <set>
42                                             <parameter name='tmp.policytype.url' value='`$prop.a1.policytype.url.nearrtric22`'/>
43                                             <parameter name="tmp.policyinstance.url" value="`$prop.a1.policyinstance.url.nearrtric22`"/>
44                                         </set>
45                                     </outcome>
46                                 </switch>
47                                 <block atomic='true'>
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'>
55                                             <block atomic='true'>
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'`" />
59                                                 </execute>
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`"/>
65                                                 </record>
66                                                 <switch test='`$tmp.policytypelength > 0`'>
67                                                     <outcome value='true'>
68                                                         <block atomic='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"/>
74                                                             </record>
75                                                         </block>
76                                                     </outcome>
77                                                     <outcome value='false'>
78                                                         <block atomic='true'>
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"/>
84                                                             </record>
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'>
93                                                                     <block atomic='true'>
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"/>
99                                                                         </record>
100                                                                     </block>
101                                                                 </outcome>
102                                                             </execute>
103                                                         </block>
104                                                     </outcome>
105                                                 </switch>
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"/>
120                                                             </record>
121                                                         </block>
122                                                     </outcome>
123                                                 </execute>
124                                             </block>
125                                         </outcome>
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"/>
133                                                 </record>
134                                             </block>
135                                         </outcome>
136                                     </execute>
137                                 </block>
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`"/>
147                                                 </execute>
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`"/>
153                                                 </execute>
154                                             </block>
155                                         </outcome>
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`"/>
163                                                 </execute>
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`"/>
169                                                 </execute>
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`"/>
175                                                 </execute>
176                                             </block>
177                                         </outcome>
178                                     </switch>
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`"/>
184                                     </record>
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`"/>
194                                     </record>
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'>
206                                             <block>
207                                                 <set>
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'/>
210                                                 </set>
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'/>
215                                                 </return>
216                                                 <block atomic='true'>
217                                                     <set>
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`"/>
223                                                     </set>
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`" />
236                                                     </record>
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'>
246                                                             <block>
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" />
251                                                                 </return>
252                                                             </block>
253                                                         </outcome>
254                                                         <outcome value='success'>
255                                                             <block>
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 "/>
260                                                                 </record>
261                                                             </block>
262                                                         </outcome>
263                                                     </execute>
264                                                 </block>
265                                             </block>
266                                         </outcome>
267                                         <outcome value='success'>
268                                             <block>
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"/>
273                                                 </record>
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' />
276                                                 </execute>
277                                             </block>
278                                         </outcome>
279                                     </execute>
280                                 </block>
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`"/>
287                                     </execute>
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`"/>
293                                     </record>
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`"/>
309                                                 </record>
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' />
312                                                 </execute>
313                                             </block>
314                                         </outcome>
315                                         <outcome value='failure'>
316                                             <block atomic='true'>
317                                                 <set>
318                                                     <parameter name='error-code' value='500'/>
319                                                     <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
320                                                 </set>
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'/>
325                                                 </return>
326                                                 <block atomic='true'>
327                                                     <set>
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`"/>
333                                                     </set>
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`" />
346                                                     </record>
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'>
356                                                             <block>
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" />
361                                                                 </return>
362                                                             </block>
363                                                         </outcome>
364                                                         <outcome value='success'>
365                                                             <block>
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 "/>
370                                                                 </record>
371                                                             </block>
372                                                         </outcome>
373                                                     </execute>
374                                                 </block>
375                                             </block>
376                                         </outcome>
377                                     </execute>
378                                     <set>
379                                         <parameter name='tmp.pLMNId' value='`$getPLMN-CL-configdb-response.plmnId`'/>
380                                     </set>
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" />
386                                         </execute>
387                                         <set>
388                                             <parameter name='tmp.mcc' value='`$tmp.plmnList[0]`'/>
389                                             <parameter name='tmp.mnc' value='`$tmp.plmnList[1]`'/>
390                                         </set>
391                                     </block>
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`"/>
398                                     </record>
399                                 </block>
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`"/>
409                                                 </execute>
410                                             </block>
411                                         </outcome>
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`"/>
419                                                 </execute>
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`"/>
425                                                 </execute>
426                                             </block>
427                                         </outcome>
428                                     </switch>
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`"/>
434                                     </execute>
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`"/>
440                                     </execute>
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`"/>
451                                     </record>
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"/>
468                                                 </record>
469                                             </block>
470                                         </outcome>
471                                         <outcome value='failure'>
472                                             <block>
473                                                 <block atomic='true'>
474                                                     <set>
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`"/>
480                                                     </set>
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`" />
493                                                     </record>
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'>
503                                                             <block>
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" />
508                                                                 </return>
509                                                             </block>
510                                                         </outcome>
511                                                         <outcome value='success'>
512                                                             <block>
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 "/>
517                                                                 </record>
518                                                             </block>
519                                                         </outcome>
520                                                     </execute>
521                                                 </block>
522                                                 <set>
523                                                     <parameter name='error-code' value='500'/>
524                                                     <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
525                                                 </set>
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'/>
530                                                 </return>
531                                             </block>
532                                         </outcome>
533                                     </execute>
534                                 </block>
535                             </for>
536                         </block>
537                     </block>
538                 </outcome>
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 "/>
549                                 </record>
550                                 <set>
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`"/>
554                                 </set>
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`"/>
560                                 </record>
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`"/>
568                                         </execute>
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`"/>
574                                         </record>
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`"/>
590                                                     </record>
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' />
593                                                     </execute>
594                                                 </block>
595                                             </outcome>
596                                             <outcome value='failure'>
597                                                 <block atomic='true'>
598                                                     <set>
599                                                         <parameter name='error-code' value='500'/>
600                                                         <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
601                                                     </set>
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'/>
606                                                     </return>
607                                                     <block atomic='true'>
608                                                         <set>
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`"/>
614                                                         </set>
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`" />
627                                                         </record>
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'>
637                                                                 <block>
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" />
642                                                                     </return>
643                                                                 </block>
644                                                             </outcome>
645                                                             <outcome value='success'>
646                                                                 <block>
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 "/>
651                                                                     </record>
652                                                                 </block>
653                                                             </outcome>
654                                                         </execute>
655                                                     </block>
656                                                 </block>
657                                             </outcome>
658                                         </execute>
659                                         <set>
660                                             <parameter name='tmp.pLMNId' value='`$getPLMN-CL-configdb-response.plmnId`'/>
661                                         </set>
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" />
667                                             </execute>
668                                             <set>
669                                                 <parameter name='tmp.mcc' value='`$tmp.plmnList[0]`'/>
670                                                 <parameter name='tmp.mnc' value='`$tmp.plmnList[1]`'/>
671                                             </set>
672                                         </block>
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`"/>
679                                         </record>
680                                     </block>
681                                     <for index='id-is' start='0' end="`$tmp.payload.dataPoints`" >
682                                         <block atomic="true">
683                                             <set>
684                                                 <parameter name="tmp.nearRTRICId" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id-is].nearRTRICId`"/>
685                                                 <parameter name="tmp.CUCPName" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id-is].gNBCUName`"/>
686                                             </set>
687                                             <switch test='`$prop.ransim-mounted`'>
688                                                 <outcome value='false'>
689                                                     <block atomic='true'>
690                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
691                                                             <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC`"/>
692                                                             <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
693                                                             <parameter name="target" value="{idNearRTRIC}"/>
694                                                             <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
695                                                         </execute>
696                                                     </block>
697                                                 </outcome>
698                                                 <outcome value='true'>
699                                                     <block atomic='true'>
700                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
701                                                             <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC.ransim-mounted`"/>
702                                                             <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
703                                                             <parameter name="target" value="{idNearRTRIC}"/>
704                                                             <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
705                                                         </execute>
706                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
707                                                             <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
708                                                             <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
709                                                             <parameter name="target" value="{mountName}"/>
710                                                             <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
711                                                         </execute>
712                                                     </block>
713                                                 </outcome>
714                                             </switch>
715                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
716                                                 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
717                                                 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
718                                                 <parameter name="target" value="{mcc}"/>
719                                                 <parameter name="replacement" value="`$tmp.mcc`"/>
720                                             </execute>
721                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
722                                                 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
723                                                 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
724                                                 <parameter name="target" value="{mnc}"/>
725                                                 <parameter name="replacement" value="`$tmp.mnc`"/>
726                                             </execute>
727                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
728                                                 <parameter name='outputPath' value='tmp.CUCellListEntries' />
729                                                 <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList_length'`" />
730                                             </execute>
731                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
732                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
733                                                 <parameter name="level" value="info" />
734                                                 <parameter name="field1" value="CUCEll List length "/>
735                                                 <parameter name="field2" value="`$tmp.CUCellListEntries`"/>
736                                             </record>
737                                             <for index='id2' start='0' end="`$tmp.CUCellListEntries`" >
738                                                 <block atomic="true">
739                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
740                                                         <parameter name='outputPath' value='tmp.cellCULocalId' />
741                                                         <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList['+$id2+'].cellLocalId'`" />
742                                                     </execute>
743                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>
744                                                         <parameter name="source" value="`$tmp.cellCULocalId`" />
745                                                         <parameter name="target" value="-maxNumberofConns"/>
746                                                         <parameter name="outputPath" value="tmp.cellLocalId" />
747                                                     </execute>
748                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
749                                                         <parameter name='outputPath' value='tmp.predictedMaxNumberofConns' />
750                                                         <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList['+$id2+'].configData.predictedMaxNumberofConns'`" />
751                                                     </execute>
752                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
753                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
754                                                         <parameter name="level" value="info" />
755                                                         <parameter name="field1" value="cellLocalId"/>
756                                                         <parameter name="field2" value="`$tmp.cellLocalId`"/>
757                                                     </record>
758                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
759                                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-config-patch.json'`" />
760                                                         <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
761                                                         <parameter name="restapiUser" value="`$prop.controller.user`" />
762                                                         <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
763                                                         <parameter name="httpMethod" value="PATCH"/>
764                                                         <parameter name="responsePrefix" value="patch-nearRTRIC-config-response"/>
765                                                         <parameter name='contentType' value='application/yang.patch+json' />
766                                                         <parameter name='accept' value='application/yang.patch-status+json'/>
767                                                         <parameter name='format' value='json' />
768                                                         <outcome value='success'>
769                                                             <block atomic='true'>
770                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
771                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
772                                                                     <parameter name="level" value="info" />
773                                                                     <parameter name="field1" value="Successfully patched NearRTRIC configuration"/>
774                                                                 </record>
775                                                             </block>
776                                                         </outcome>
777                                                         <outcome value='failure'>
778                                                             <block>
779                                                                 <block atomic='true'>
780                                                                     <set>
781                                                                         <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
782                                                                         <parameter name="tmp.status" value="`$error-code`"/>
783                                                                         <parameter name="tmp.reason" value="`$error-message`"/>
784                                                                         <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
785                                                                         <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
786                                                                     </set>
787                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
788                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
789                                                                         <parameter name="level" value="info" />
790                                                                         <parameter name="field1" value="URL for SO Callback Response"/>
791                                                                         <parameter name='field2' value="`$tmp.so.callbackURL`" />
792                                                                         <parameter name='field3' value="`$tmp.status`" />
793                                                                         <parameter name='field4' value="`$tmp.reason`" />
794                                                                         <parameter name='field5' value="`$tmp.requestID`" />
795                                                                         <parameter name='field6' value="`$tmp.action`" />
796                                                                         <parameter name='field7' value="`$tmp.CUCPList`" />
797                                                                         <parameter name='field8' value="`$tmp.CUUPList`" />
798                                                                         <parameter name='field9' value="`$tmp.DUList`" />
799                                                                     </record>
800                                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
801                                                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
802                                                                         <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
803                                                                         <parameter name="httpMethod" value="POST"/>
804                                                                         <parameter name="responsePrefix" value="so-callback-response"/>
805                                                                         <parameter name='contentType' value='application/json' />
806                                                                         <parameter name='format' value='json' />
807                                                                         <parameter name='accept' value='*/*' />
808                                                                         <outcome value='failure'>
809                                                                             <block>
810                                                                                 <return status='failure'>
811                                                                                     <parameter name='ack-final' value='Y'/>
812                                                                                     <parameter name="error-code" value="500" />
813                                                                                     <parameter name="error-message" value="Error sending SO Response" />
814                                                                                 </return>
815                                                                             </block>
816                                                                         </outcome>
817                                                                         <outcome value='success'>
818                                                                             <block>
819                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
820                                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
821                                                                                     <parameter name="level" value="info" />
822                                                                                     <parameter name="field1" value="SO Response Sent "/>
823                                                                                 </record>
824                                                                             </block>
825                                                                         </outcome>
826                                                                     </execute>
827                                                                 </block>
828                                                                 <set>
829                                                                     <parameter name='error-code' value='500'/>
830                                                                     <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
831                                                                 </set>
832                                                                 <return status='failure'>
833                                                                     <parameter name='ack-final' value='Y'/>
834                                                                     <parameter name='error-code' value='500'/>
835                                                                     <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
836                                                                 </return>
837                                                             </block>
838                                                         </outcome>
839                                                     </execute>
840                                                 </block>
841                                                 <block atomic="true">
842                                                     <set>
843                                                         <parameter name='tmp.cellLocalId' value='`$tmp.cellCULocalId`'/>
844                                                         <parameter name='tmp.payload.pLMNId' value='`$tmp.pLMNId`'/>
845                                                         <parameter name='tmp.payload.sNSSAI' value='`$tmp.payload.sNSSAI`'/>
846                                                         <parameter name='tmp.maxNumberOfConns' value='`$tmp.predictedMaxNumberofConns`'/>
847                                                     </set>
848                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
849                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
850                                                         <parameter name="level" value="info" />
851                                                         <parameter name="field1" value="cellLocalId"/>
852                                                         <parameter name="field2" value="`$tmp.cellLocalId`"/>
853                                                         <parameter name="field3" value="pLMNId"/>
854                                                         <parameter name="field4" value="`$tmp.payload.pLMNId`"/>
855                                                         <parameter name="field5" value="maxNumberOfConns"/>
856                                                         <parameter name="field6" value="`$tmp.maxNumberOfConns`"/>
857                                                         <parameter name="field7" value="gNBCUName"/>
858                                                         <parameter name="field8" value="`$tmp.gNBCUCPList.gNBCUName`"/>
859                                                         <parameter name="field9" value="gNBId"/>
860                                                         <parameter name="field10" value="`$tmp.gNBCUCPList.gNBId`"/>
861                                                         <parameter name="field11" value="nFType"/>
862                                                         <parameter name="field12" value="`$tmp.gNBCUCPList.nFType`"/>
863                                                     </record>
864                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
865                                                         <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateCellCU`"/>
866                                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updateCellCU.json'`" />
867                                                         <parameter name="httpMethod" value="PATCH"/>
868                                                         <parameter name="responsePrefix" value="update-nrCellCU-configdb-response"/>
869                                                         <parameter name='contentType' value='application/json' />
870                                                         <parameter name='format' value='json' />
871                                                         <parameter name='accept' value='application/json' />
872                                                         <parameter name="convertResponse" value="true"/>
873                                                         <outcome value='failure'>
874                                                             <block atomic='true'>
875                                                                 <block atomic='true'>
876                                                                     <set>
877                                                                         <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
878                                                                         <parameter name="tmp.status" value="`$error-code`"/>
879                                                                         <parameter name="tmp.reason" value="`$error-message`"/>
880                                                                         <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
881                                                                         <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
882                                                                     </set>
883                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
884                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
885                                                                         <parameter name="level" value="info" />
886                                                                         <parameter name="field1" value="URL for SO Callback Response"/>
887                                                                         <parameter name='field2' value="`$tmp.so.callbackURL`" />
888                                                                         <parameter name='field3' value="`$tmp.status`" />
889                                                                         <parameter name='field4' value="`$tmp.reason`" />
890                                                                         <parameter name='field5' value="`$tmp.requestID`" />
891                                                                         <parameter name='field6' value="`$tmp.action`" />
892                                                                         <parameter name='field7' value="`$tmp.CUCPList`" />
893                                                                         <parameter name='field8' value="`$tmp.CUUPList`" />
894                                                                         <parameter name='field9' value="`$tmp.DUList`" />
895                                                                     </record>
896                                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
897                                                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
898                                                                         <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
899                                                                         <parameter name="httpMethod" value="POST"/>
900                                                                         <parameter name="responsePrefix" value="so-callback-response"/>
901                                                                         <parameter name='contentType' value='application/json' />
902                                                                         <parameter name='format' value='json' />
903                                                                         <parameter name='accept' value='*/*' />
904                                                                         <outcome value='failure'>
905                                                                             <block>
906                                                                                 <return status='failure'>
907                                                                                     <parameter name='ack-final' value='Y'/>
908                                                                                     <parameter name="error-code" value="500" />
909                                                                                     <parameter name="error-message" value="Error sending SO Response" />
910                                                                                 </return>
911                                                                             </block>
912                                                                         </outcome>
913                                                                         <outcome value='success'>
914                                                                             <block>
915                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
916                                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
917                                                                                     <parameter name="level" value="info" />
918                                                                                     <parameter name="field1" value="SO Response Sent "/>
919                                                                                 </record>
920                                                                             </block>
921                                                                         </outcome>
922                                                                     </execute>
923                                                                 </block>
924                                                                 <set>
925                                                                     <parameter name='error-code' value='500'/>
926                                                                     <parameter name='error-message' value='Error in updating Config DB - NRCellCU. Aborting RPC executiopn'/>
927                                                                 </set>
928                                                                 <return status='failure'>
929                                                                     <parameter name='ack-final' value='Y'/>
930                                                                     <parameter name='error-code' value='500'/>
931                                                                     <parameter name='error-message' value='Error updating NRCellCU-PLMNInfo in ConfigDB. Aborting RPC executiopn'/>
932                                                                 </return>
933                                                             </block>
934                                                         </outcome>
935                                                         <outcome value='success'>
936                                                             <block>
937                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
938                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
939                                                                     <parameter name="level" value="info" />
940                                                                     <parameter name="field1" value="Successfully updated ConfigDB - NRCellCU pLMNinfo "/>
941                                                                 </record>
942                                                             </block>
943                                                         </outcome>
944                                                     </execute>
945                                                 </block>
946                                             </for>
947                                         </block>
948                                     </for>
949                                 </block>
950                             </block>
951                         </outcome>
952                     </execute>
953                 </outcome>
954             </execute>
955             <block atomic='true'>
956                 <set>
957                     <parameter name="tmp.status" value="`$error-code`"/>
958                     <parameter name="tmp.reason" value="`$error-message`"/>
959                     <parameter name="tmp.requestID" value="`$instantiate-r-a-n-slice-input.common-header.request-id `"/>
960                     <parameter name="tmp.action" value="`$instantiate-r-a-n-slice-input.action`"/>
961                 </set>
962                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
963                     <parameter name="source" value="`$prop.restapi.so.callbackURL`"/>
964                     <parameter name="outputPath" value="tmp.so.callbackURL"/>
965                     <parameter name="target" value="{requestId}"/>
966                     <parameter name="replacement" value="`$tmp.requestID`"/>
967                 </execute>
968                 <switch test='`$error-code`'>
969                     <outcome value='200'>
970                         <set>
971                             <parameter name="tmp.status" value="success"/>
972                         </set>
973                     </outcome>
974                     <outcome value='Other'>
975                         <set>
976                             <parameter name="tmp.status" value="`$error-code`"/>
977                         </set>
978                     </outcome>
979                 </switch>
980                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
981                     <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
982                     <parameter name="level" value="info" />
983                     <parameter name="field1" value="URL for SO Callback Response"/>
984                     <parameter name='field2' value="`$payloadJson.input.callbackURL`" />
985                     <parameter name='field3' value="`$tmp.status`" />
986                     <parameter name='field4' value="`$tmp.reason`" />
987                     <parameter name='field5' value="`$tmp.requestID`" />
988                     <parameter name='field6' value="`$tmp.action`" />
989                     <parameter name='field7' value="`$tmp.CUCPList`" />
990                     <parameter name='field8' value="`$tmp.CUUPList`" />
991                     <parameter name='field9' value="`$tmp.DUList`" />
992                 </record>
993                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
994                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
995                     <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/>
996                     <parameter name="httpMethod" value="POST"/>
997                     <parameter name="responsePrefix" value="so-callback-response"/>
998                     <parameter name='contentType' value='application/json' />
999                     <parameter name='format' value='json' />
1000                     <parameter name='accept' value='*/*' />
1001                     <parameter name="restapiUser" value="`$prop.restapi.so.user`" />
1002                     <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/>
1003                     <outcome value='failure'>
1004                         <block>
1005                             <set>
1006                                 <parameter name='error-code' value='500'/>
1007                                 <parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/>
1008                             </set>
1009                             <return status='failure'>
1010                                 <parameter name='ack-final' value='Y'/>
1011                                 <parameter name="error-code" value="500" />
1012                                 <parameter name="error-message" value="Error sending SO Response" />
1013                             </return>
1014                         </block>
1015                     </outcome>
1016                     <outcome value='success'>
1017                         <block>
1018                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
1019                                 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
1020                                 <parameter name="level" value="info" />
1021                                 <parameter name="field1" value="SO Response Sent "/>
1022                             </record>
1023                         </block>
1024                     </outcome>
1025                 </execute>
1026             </block>
1027             <return status='success'>
1028                 <parameter name="ack-final" value="N" />
1029                 <parameter name="error-code" value="200" />
1030                 <parameter name="error-message" value="SUCCESSFUL Execution" />
1031             </return>
1032         </block>
1033     </method>
1034 </service-logic>