A1 interface Support instead of O1.
[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                                             </set>
686                                             <switch test='`$prop.ransim-mounted`'>
687                                                 <outcome value='false'>
688                                                     <block atomic='true'>
689                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
690                                                             <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC`"/>
691                                                             <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
692                                                             <parameter name="target" value="{idNearRTRIC}"/>
693                                                             <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
694                                                         </execute>
695                                                     </block>
696                                                 </outcome>
697                                                 <outcome value='true'>
698                                                     <block atomic='true'>
699                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
700                                                             <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC.ransim-mounted`"/>
701                                                             <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
702                                                             <parameter name="target" value="{idNearRTRIC}"/>
703                                                             <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
704                                                         </execute>
705                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
706                                                             <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
707                                                             <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
708                                                             <parameter name="target" value="{mountName}"/>
709                                                             <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
710                                                         </execute>
711                                                     </block>
712                                                 </outcome>
713                                             </switch>
714                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
715                                                 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
716                                                 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
717                                                 <parameter name="target" value="{mcc}"/>
718                                                 <parameter name="replacement" value="`$tmp.mcc`"/>
719                                             </execute>
720                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
721                                                 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
722                                                 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
723                                                 <parameter name="target" value="{mnc}"/>
724                                                 <parameter name="replacement" value="`$tmp.mnc`"/>
725                                             </execute>
726                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
727                                                 <parameter name='outputPath' value='tmp.CUCellListEntries' />
728                                                 <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList_length'`" />
729                                             </execute>
730                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
731                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
732                                                 <parameter name="level" value="info" />
733                                                 <parameter name="field1" value="CUCEll List length "/>
734                                                 <parameter name="field2" value="`$tmp.CUCellListEntries`"/>
735                                             </record>
736                                             <for index='id2' start='0' end="`$tmp.CUCellListEntries`" >
737                                                 <block atomic="true">
738                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
739                                                         <parameter name='outputPath' value='tmp.cellLocalId' />
740                                                         <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList['+$id2+'].cellLocalId'`" />
741                                                     </execute>
742                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>
743                                                         <parameter name="source" value="`$tmp.cellLocalId`" />
744                                                         <parameter name="target" value="-maxNumberofConns"/>
745                                                         <parameter name="outputPath" value="tmp.cellLocalId" />
746                                                     </execute>
747                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
748                                                         <parameter name='outputPath' value='tmp.predictedMaxNumberofConns' />
749                                                         <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList['+$id2+'].configData.predictedMaxNumberofConns'`" />
750                                                     </execute>
751                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
752                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
753                                                         <parameter name="level" value="info" />
754                                                         <parameter name="field1" value="cellLocalId"/>
755                                                         <parameter name="field2" value="`$tmp.cellLocalId`"/>
756                                                     </record>
757                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
758                                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-config-patch.json'`" />
759                                                         <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
760                                                         <parameter name="restapiUser" value="`$prop.controller.user`" />
761                                                         <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
762                                                         <parameter name="httpMethod" value="PATCH"/>
763                                                         <parameter name="responsePrefix" value="patch-nearRTRIC-config-response"/>
764                                                         <parameter name='contentType' value='application/yang.patch+json' />
765                                                         <parameter name='accept' value='application/yang.patch-status+json'/>
766                                                         <parameter name='format' value='json' />
767                                                         <outcome value='success'>
768                                                             <block atomic='true'>
769                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
770                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
771                                                                     <parameter name="level" value="info" />
772                                                                     <parameter name="field1" value="Successfully patched NearRTRIC configuration"/>
773                                                                 </record>
774                                                             </block>
775                                                         </outcome>
776                                                         <outcome value='failure'>
777                                                             <block>
778                                                                 <block atomic='true'>
779                                                                     <set>
780                                                                         <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
781                                                                         <parameter name="tmp.status" value="`$error-code`"/>
782                                                                         <parameter name="tmp.reason" value="`$error-message`"/>
783                                                                         <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
784                                                                         <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
785                                                                     </set>
786                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
787                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
788                                                                         <parameter name="level" value="info" />
789                                                                         <parameter name="field1" value="URL for SO Callback Response"/>
790                                                                         <parameter name='field2' value="`$tmp.so.callbackURL`" />
791                                                                         <parameter name='field3' value="`$tmp.status`" />
792                                                                         <parameter name='field4' value="`$tmp.reason`" />
793                                                                         <parameter name='field5' value="`$tmp.requestID`" />
794                                                                         <parameter name='field6' value="`$tmp.action`" />
795                                                                         <parameter name='field7' value="`$tmp.CUCPList`" />
796                                                                         <parameter name='field8' value="`$tmp.CUUPList`" />
797                                                                         <parameter name='field9' value="`$tmp.DUList`" />
798                                                                     </record>
799                                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
800                                                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
801                                                                         <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
802                                                                         <parameter name="httpMethod" value="POST"/>
803                                                                         <parameter name="responsePrefix" value="so-callback-response"/>
804                                                                         <parameter name='contentType' value='application/json' />
805                                                                         <parameter name='format' value='json' />
806                                                                         <parameter name='accept' value='*/*' />
807                                                                         <outcome value='failure'>
808                                                                             <block>
809                                                                                 <return status='failure'>
810                                                                                     <parameter name='ack-final' value='Y'/>
811                                                                                     <parameter name="error-code" value="500" />
812                                                                                     <parameter name="error-message" value="Error sending SO Response" />
813                                                                                 </return>
814                                                                             </block>
815                                                                         </outcome>
816                                                                         <outcome value='success'>
817                                                                             <block>
818                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
819                                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
820                                                                                     <parameter name="level" value="info" />
821                                                                                     <parameter name="field1" value="SO Response Sent "/>
822                                                                                 </record>
823                                                                             </block>
824                                                                         </outcome>
825                                                                     </execute>
826                                                                 </block>
827                                                                 <set>
828                                                                     <parameter name='error-code' value='500'/>
829                                                                     <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
830                                                                 </set>
831                                                                 <return status='failure'>
832                                                                     <parameter name='ack-final' value='Y'/>
833                                                                     <parameter name='error-code' value='500'/>
834                                                                     <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
835                                                                 </return>
836                                                             </block>
837                                                         </outcome>
838                                                     </execute>
839                                                 </block>
840                                             </for>
841                                         </block>
842                                     </for>
843                                 </block>
844                             </block>
845                         </outcome>
846                     </execute>
847                 </outcome>
848             </execute>
849             <block atomic='true'>
850                 <set>
851                     <parameter name="tmp.status" value="`$error-code`"/>
852                     <parameter name="tmp.reason" value="`$error-message`"/>
853                     <parameter name="tmp.requestID" value="`$instantiate-r-a-n-slice-input.common-header.request-id `"/>
854                     <parameter name="tmp.action" value="`$instantiate-r-a-n-slice-input.action`"/>
855                 </set>
856                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
857                     <parameter name="source" value="`$prop.restapi.so.callbackURL`"/>
858                     <parameter name="outputPath" value="tmp.so.callbackURL"/>
859                     <parameter name="target" value="{requestId}"/>
860                     <parameter name="replacement" value="`$tmp.requestID`"/>
861                 </execute>
862                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
863                     <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
864                     <parameter name="level" value="info" />
865                     <parameter name="field1" value="URL for SO Callback Response"/>
866                     <parameter name='field2' value="`$payloadJson.input.callbackURL`" />
867                     <parameter name='field3' value="`$tmp.status`" />
868                     <parameter name='field4' value="`$tmp.reason`" />
869                     <parameter name='field5' value="`$tmp.requestID`" />
870                     <parameter name='field6' value="`$tmp.action`" />
871                     <parameter name='field7' value="`$tmp.CUCPList`" />
872                     <parameter name='field8' value="`$tmp.CUUPList`" />
873                     <parameter name='field9' value="`$tmp.DUList`" />
874                 </record>
875                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
876                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
877                     <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/>
878                     <parameter name="httpMethod" value="POST"/>
879                     <parameter name="responsePrefix" value="so-callback-response"/>
880                     <parameter name='contentType' value='application/json' />
881                     <parameter name='format' value='json' />
882                     <parameter name='accept' value='*/*' />
883                     <parameter name="restapiUser" value="`$prop.restapi.so.user`" />
884                     <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/>
885                     <outcome value='failure'>
886                         <block>
887                             <set>
888                                 <parameter name='error-code' value='500'/>
889                                 <parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/>
890                             </set>
891                             <return status='failure'>
892                                 <parameter name='ack-final' value='Y'/>
893                                 <parameter name="error-code" value="500" />
894                                 <parameter name="error-message" value="Error sending SO Response" />
895                             </return>
896                         </block>
897                     </outcome>
898                     <outcome value='success'>
899                         <block>
900                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
901                                 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
902                                 <parameter name="level" value="info" />
903                                 <parameter name="field1" value="SO Response Sent "/>
904                             </record>
905                         </block>
906                     </outcome>
907                 </execute>
908             </block>
909             <return status='success'>
910                 <parameter name="ack-final" value="N" />
911                 <parameter name="error-code" value="200" />
912                 <parameter name="error-message" value="SUCCESSFUL Execution" />
913             </return>
914         </block>
915     </method>
916 </service-logic>