f2af89f8cf98d2679eb609f28f78fa1524945a04
[ccsdk/distribution.git] / platform-logic / ran-slice-api / src / main / xml / ran-slice-api_activateRANSliceInstance.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='activateRANSliceInstance' 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/activateRANSlice.log" />
8                 <parameter name="level" value="info" />
9                 <parameter name="field1" value="RPC to handle terminateRANSlice.: "/>
10                 <parameter name="field2" value="`$activate-r-a-n-slice-input.action`"/>
11                 <parameter name="field3" value="`$activate-r-a-n-slice-input.common-header.timestamp`"/>
12                 <parameter name="field4" value="`$activate-r-a-n-slice-input.common-header.request-id`"/>
13                 <parameter name="field5" value="`$activate-r-a-n-slice-input.common-header.originator-id`"/>
14                 <parameter name="field6" value="RPC Payload String "/>
15                 <parameter name="field7" value="`$activate-r-a-n-slice-input.payload`"/>
16             </record>
17             <set>
18                 <parameter name='error-code' value='200' />
19                 <parameter name='error-message' value='Successful execution of terminateRANSice RPC' />
20             </set>
21             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>
22                 <parameter name='source' value='activate-r-a-n-slice-input.payload' />
23                 <parameter name='outputPath' value='payloadJson' />
24                 <parameter name='isEscaped' value='false' />
25                 <outcome value='success'>
26                     <block atomic='true'>
27                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
28                             <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-context.log' />
29                         </execute>
30                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
31                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
32                             <parameter name="level" value="info" />
33                             <parameter name="field1" value="Payload for terminateRANSlice.: "/>
34                             <parameter name="field2" value="`$tmp.sNSSAI`"/>
35                             <parameter name="field3" value="`$payloadJson.input.RANNFNSSIId`"/>
36                             <parameter name="field4" value="`$payloadJson.input.callbackURL`"/>
37                             <parameter name="field5" value="`$payloadJson.input.sliceProfileId`"/>
38                         </record>
39                     </block>
40                 </outcome>
41             </execute>
42             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
43                 <parameter name='outputPath' value='tmp.sNSSAI' />
44                 <parameter name='source' value="`$payloadJson.input.NSSAI`" />
45             </execute>
46             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
47                 <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-context.log' />
48             </execute>
49             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
50                 <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/ran-slice-api-dg.properties' />
51                 <parameter name='contextPrefix' value='prop' />
52             </execute>
53             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
54                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
55                 <parameter name="level" value="info" />
56                 <parameter name="field1" value="Properties read .. controller details "/>
57                 <parameter name="field2" value="`$prop.controller.user`"/>
58                 <parameter name="field3" value="`$prop.controller.pwd`"/>
59                 <parameter name="field4" value="`$prop.controller.url`"/>
60                 <parameter name="field5" value="ransim-mounted (true/false): "/>
61                 <parameter name="field6" value="`$prop.ransim-mounted`"/>
62                 <parameter name="field7" value="config DB deployed (true/false): "/>
63                 <parameter name="field8" value="`$prop.configdb-deployed`"/>
64             </record>
65             <set>
66                 <parameter name='tmp.status' value='ACTIVE' />
67             </set>
68             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
69                 <parameter name="source" value="`$prop.restapi.configdb.getNearRTRICByNSSI`"/>
70                 <parameter name="outputPath" value="tmp.configdb.getNearRTRICByNSSI.url"/>
71                 <parameter name="target" value="{ranNFNSSIId}"/>
72                 <parameter name="replacement" value="`$payloadJson.input.RANNFNSSIId`"/>
73             </execute>
74             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
75                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
76                 <parameter name="level" value="info" />
77                 <parameter name="field1" value="URL for configDB to Get NearRTRIC for RANNFNSSI"/>
78                 <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.getNearRTRICByNSSI.url`" />
79                 <parameter name='field3' value="`$ranNFNSSIId`" />
80             </record>
81             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
82                 <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getNearRTRICByNSSI.url`"/>
83                 <parameter name="httpMethod" value="GET"/>
84                 <parameter name="responsePrefix" value="getNFNSSIRIC-configdb-response"/>
85                 <parameter name='contentType' value='application/json' />
86                 <parameter name='format' value='json' />
87                 <parameter name='accept' value='application/json' />
88                 <parameter name="convertResponse" value="true"/>
89                 <outcome value='failure'>
90                     <block>
91                         <set>
92                             <parameter name='error-code' value='500'/>
93                             <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
94                         </set>
95                         <block atomic='true'>
96                             <set>
97                                 <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
98                                 <parameter name="tmp.status" value="`$error-code`"/>
99                                 <parameter name="tmp.reason" value="`$error-message`"/>
100                                 <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
101                                 <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
102                             </set>
103                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
104                                 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
105                                 <parameter name="level" value="info" />
106                                 <parameter name="field1" value="URL for SO Callback Response"/>
107                                 <parameter name='field2' value="`$tmp.so.callbackURL`" />
108                                 <parameter name='field3' value="`$tmp.status`" />
109                                 <parameter name='field4' value="`$tmp.reason`" />
110                                 <parameter name='field5' value="`$tmp.requestID`" />
111                                 <parameter name='field6' value="`$tmp.action`" />
112                             </record>
113                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
114                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
115                                 <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
116                                 <parameter name="httpMethod" value="POST"/>
117                                 <parameter name="responsePrefix" value="so-callback-modify-response"/>
118                                 <parameter name='contentType' value='application/json' />
119                                 <parameter name='format' value='json' />
120                                 <parameter name='accept' value='application/json' />
121                                 <parameter name="convertResponse" value="true"/>
122                                 <outcome value='failure'>
123                                     <block>
124                                         <return status='failure'>
125                                             <parameter name='ack-final' value='Y'/>
126                                             <parameter name="error-code" value="500" />
127                                             <parameter name="error-message" value="Error sending SO Response" />
128                                         </return>
129                                     </block>
130                                 </outcome>
131                                 <outcome value='success'>
132                                     <block>
133                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
134                                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
135                                             <parameter name="level" value="info" />
136                                             <parameter name="field1" value="SO Response Sent "/>
137                                         </record>
138                                     </block>
139                                 </outcome>
140                             </execute>
141                         </block>
142                     </block>
143                 </outcome>
144                 <outcome value='success'>
145                     <block atomic='true'>
146                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
147                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
148                             <parameter name="level" value="info" />
149                             <parameter name="field1" value="Successfully Obtained NearRT RIC info from ConfigDB"/>
150                             <parameter name="field2" value="`$getNFNSSIRIC-configdb-response._length`"/>
151                         </record>
152                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
153                             <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-configrsp-context.log' />
154                         </execute>
155                     </block>
156                 </outcome>
157             </execute>
158             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
159                 <parameter name="source" value="`$prop.restapi.configdb.getplmn`"/>
160                 <parameter name="outputPath" value="tmp.configdb.getPLMNId.url"/>
161                 <parameter name="target" value="{sliceProfileId}"/>
162                 <parameter name="replacement" value="`$payloadJson.input.sliceProfileId`"/>
163             </execute>
164             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
165                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
166                 <parameter name="level" value="info" />
167                 <parameter name="field1" value="Get PLMN from SliceProfileId URL: "/>
168                 <parameter name="field2" value="`$tmp.configdb.getPLMNId.url`"/>
169             </record>
170             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
171                 <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getPLMNId.url`"/>
172                 <parameter name="httpMethod" value="GET"/>
173                 <parameter name="responsePrefix" value="getPLMN-configdb-response"/>
174                 <parameter name='contentType' value='application/json' />
175                 <parameter name='format' value='json' />
176                 <parameter name='accept' value='application/json' />
177                 <parameter name="convertResponse" value="true"/>
178             </execute>
179             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
180                 <parameter name='outputPath' value='tmp.pLMNId' />
181                 <parameter name='source' value="`getPLMN-configdb-response.pLMNId`" />
182             </execute>
183             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>
184                 <parameter name="string" value="`$tmp.pLMNId`" />
185                 <parameter name="result" value="tmp.mcc"/>
186                 <parameter name="begin-index" value="0" />
187                 <parameter name="end-index" value="3" />
188             </execute>
189             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>
190                 <parameter name="string" value="`$tmp.pLMNId`" />
191                 <parameter name="result" value="tmp.mnc"/>
192                 <parameter name="begin-index" value="4" />
193             </execute>
194             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
195                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
196                 <parameter name="level" value="info" />
197                 <parameter name="field1" value="`$tmp.pLMNId`"/>
198                 <parameter name="field2" value="`$tmp.mcc`"/>
199                 <parameter name="field3" value="`$tmp.mnc`"/>
200             </record>
201             <for index='idy' start='0' end='`$getNFNSSIRIC-configdb-response._length`' >
202                 <block atomic='true'>
203                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
204                         <parameter name='outputPath' value='tmp.CUCPList_length' />
205                         <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBCUCPList_length'`" />
206                     </execute>
207                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
208                         <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
209                         <parameter name="level" value="info" />
210                         <parameter name="field1" value="Number of CUCP List Entries "/>
211                         <parameter name="field2" value="`$tmp.CUCPList_length`"/>
212                         <parameter name="field3" value="for the NearRTRIC"/>
213                         <parameter name="field4" value="`$tmp.nearRTRICId`"/>
214                     </record>
215                     <for index='idz' start='0' end='`$tmp.CUCPList_length`'>
216                         <block atomic='true'>
217                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
218                                 <parameter name='outputPath' value='tmp.CUCPName' />
219                                 <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].gNBCUName'`" />
220                             </execute>
221                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
222                                 <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
223                                 <parameter name="level" value="info" />
224                                 <parameter name="field1" value="CUCPName "/>
225                                 <parameter name="field2" value="`$tmp.CUCPName`"/>
226                             </record>
227                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
228                                 <parameter name='outputPath' value='tmp.cellCUList_length' />
229                                 <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBCUCPList[' + $idz +'].cellCUList_length'`" />
230                             </execute>
231                             <for index='idcu' start='0' end='`$tmp.cellCUList_length`' >
232                                 <block atomic='true'>
233                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
234                                         <parameter name='outputPath' value='tmp.pLMNInfoList_length' />
235                                         <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].pLMNInfoList_length '`" />
236                                     </execute>
237                                     <for index='id-cuplmn' start='0' end='`$tmp.pLMNInfoList_length`' >
238                                         <block atomic='true'>
239                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
240                                                 <parameter name='outputPath' value='tmp.configDBSNSSAI' />
241                                                 <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].pLMNInfoList['+ $id-cuplmn +'].sNSSAI.sNSSAI'`" />
242                                             </execute>
243                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
244                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
245                                                 <parameter name="level" value="info" />
246                                                 <parameter name="field1" value="sNSSAI - getNFNSSIRIC-configdb-response"/>
247                                                 <parameter name="field2" value="`$tmp.configDBSNSSAI`"/>
248                                                 <parameter name="field3" value="sNSSAI from request"/>
249                                                 <parameter name="field4" value="`$tmp.sNSSAI`"/>
250                                             </record>
251                                             <switch test='`$tmp.configDBSNSSAI == $tmp.sNSSAI`'>
252                                                 <outcome value='true'>
253                                                     <block atomic='true'>
254                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
255                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
256                                                             <parameter name="level" value="info" />
257                                                             <parameter name="field1" value="CellCU is applicable for the NSSAI "/>
258                                                         </record>
259                                                         <switch test='`$prop.ransim-mounted`'>
260                                                             <outcome value='false'>
261                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
262                                                                     <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellCU`"/>
263                                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>
264                                                                     <parameter name="target" value="{idNearRTRIC}"/>
265                                                                     <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
266                                                                 </execute>
267                                                             </outcome>
268                                                             <outcome value='true'>
269                                                                 <block atomic='true'>
270                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
271                                                                         <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellCU.ransim-mounted`"/>
272                                                                         <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>
273                                                                         <parameter name="target" value="{idNearRTRIC}"/>
274                                                                         <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
275                                                                     </execute>
276                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
277                                                                         <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/>
278                                                                         <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>
279                                                                         <parameter name="target" value="{mountName}"/>
280                                                                         <parameter name="replacement" value="`$tmp.CUCPName`"/>
281                                                                     </execute>
282                                                                 </block>
283                                                             </outcome>
284                                                         </switch>
285                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
286                                                             <parameter name='outputPath' value='tmp.cellCULocalId' />
287                                                             <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].cellLocalId'`" />
288                                                         </execute>
289                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
290                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/>
291                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>
292                                                             <parameter name="target" value="{idGNBCUCPFunction}"/>
293                                                             <parameter name="replacement" value="`$tmp.CUCPName`"/>
294                                                         </execute>
295                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
296                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/>
297                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>
298                                                             <parameter name="target" value="{idNRCellCU}"/>
299                                                             <parameter name="replacement" value="`$tmp.cellCULocalId`"/>
300                                                         </execute>
301                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
302                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/>
303                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>
304                                                             <parameter name="target" value="{mcc}"/>
305                                                             <parameter name="replacement" value="`$tmp.mcc`"/>
306                                                         </execute>
307                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
308                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/>
309                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>
310                                                             <parameter name="target" value="{mnc}"/>
311                                                             <parameter name="replacement" value="`$tmp.mnc`"/>
312                                                         </execute>
313                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
314                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
315                                                             <parameter name="level" value="info" />
316                                                             <parameter name="field1" value="patch cellCU NSSAI parameters"/>
317                                                             <parameter name="field2" value="`$tmp.nearRTRICId`"/>
318                                                             <parameter name="field3" value="`$tmp.CUCPName`"/>
319                                                             <parameter name="field4" value="`$tmp.cellCULocalId`"/>
320                                                             <parameter name="field5" value="`$tmp.mcc`"/>
321                                                             <parameter name="field6" value="`$tmp.mnc`"/>
322                                                             <parameter name="field7" value="`$tmp.patchPLMNInfoListEntry.url`"/>
323                                                         </record>
324                                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
325                                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-status.json'`" />
326                                                             <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoListEntry.url`"/>
327                                                             <parameter name="restapiUser" value="`$prop.controller.user`" />
328                                                             <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
329                                                             <parameter name="httpMethod" value="PATCH"/>
330                                                             <parameter name="responsePrefix" value="activate-cellCU-PLMNInfoList-response"/>
331                                                             <parameter name='contentType' value='application/yang.patch+json' />
332                                                             <parameter name='accept' value='application/yang.patch-status+json'/>
333                                                             <parameter name='format' value='json' />
334                                                             <outcome value='failure'>
335                                                                 <block atomic='true'>
336                                                                     <set>
337                                                                         <parameter name='error-code' value='500'/>
338                                                                         <parameter name='error-message' value='Error patching cellCU PLMNInfoList. Aborting RPC executiopn'/>
339                                                                     </set>
340                                                                     <return status='failure'>
341                                                                         <parameter name='ack-final' value='Y'/>
342                                                                         <parameter name='error-code' value='500'/>
343                                                                         <parameter name='error-message' value='Error updating NRcellCU - PLMNInfo. Aborting RPC executiopn'/>
344                                                                     </return>
345                                                                     <block atomic='true'>
346                                                                         <set>
347                                                                             <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
348                                                                             <parameter name="tmp.status" value="`$error-code`"/>
349                                                                             <parameter name="tmp.reason" value="`$error-message`"/>
350                                                                             <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
351                                                                             <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
352                                                                         </set>
353                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
354                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
355                                                                             <parameter name="level" value="info" />
356                                                                             <parameter name="field1" value="URL for SO Callback Response"/>
357                                                                             <parameter name='field2' value="`$tmp.so.callbackURL`" />
358                                                                             <parameter name='field3' value="`$tmp.status`" />
359                                                                             <parameter name='field4' value="`$tmp.reason`" />
360                                                                             <parameter name='field5' value="`$tmp.requestID`" />
361                                                                             <parameter name='field6' value="`$tmp.action`" />
362                                                                         </record>
363                                                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
364                                                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
365                                                                             <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
366                                                                             <parameter name="httpMethod" value="POST"/>
367                                                                             <parameter name="responsePrefix" value="so-callback-modify-response"/>
368                                                                             <parameter name='contentType' value='application/json' />
369                                                                             <parameter name='format' value='json' />
370                                                                             <parameter name='accept' value='application/json' />
371                                                                             <parameter name="convertResponse" value="true"/>
372                                                                             <outcome value='failure'>
373                                                                                 <block>
374                                                                                     <return status='failure'>
375                                                                                         <parameter name='ack-final' value='Y'/>
376                                                                                         <parameter name="error-code" value="500" />
377                                                                                         <parameter name="error-message" value="Error sending SO Response" />
378                                                                                     </return>
379                                                                                 </block>
380                                                                             </outcome>
381                                                                             <outcome value='success'>
382                                                                                 <block>
383                                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
384                                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
385                                                                                         <parameter name="level" value="info" />
386                                                                                         <parameter name="field1" value="SO Response Sent "/>
387                                                                                     </record>
388                                                                                 </block>
389                                                                             </outcome>
390                                                                         </execute>
391                                                                     </block>
392                                                                 </block>
393                                                             </outcome>
394                                                             <outcome value='success'>
395                                                                 <block atomic='true'>
396                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
397                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
398                                                                         <parameter name="level" value="info" />
399                                                                         <parameter name="field1" value="Successfully Patched - cellCU PLMNInfo List"/>
400                                                                     </record>
401                                                                 </block>
402                                                             </outcome>
403                                                         </execute>
404                                                     </block>
405                                                 </outcome>
406                                             </switch>
407                                         </block>
408                                     </for>
409                                 </block>
410                             </for>
411                         </block>
412                     </for>
413                 </block>
414                 <block atomic='true'>
415                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
416                         <parameter name='outputPath' value='tmp.CUUPList_length' />
417                         <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBCUUPList_length'`" />
418                     </execute>
419                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
420                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
421                         <parameter name="level" value="info" />
422                         <parameter name="field1" value="Number of CUCP List Entries "/>
423                         <parameter name="field2" value="`$tmp.CUUPList_length`"/>
424                         <parameter name="field3" value="for the NearRTRIC"/>
425                         <parameter name="field4" value="`$tmp.nearRTRICId`"/>
426                     </record>
427                     <for index='id-cuup' start='0' end='`$tmp.CUUPList_length`'>
428                         <block atomic='true'>
429                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
430                                 <parameter name='outputPath' value='tmp.idGNBCUUPFunction' />
431                                 <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUUPList['+ $id-cuup +'].gNBCUUPId'`" />
432                             </execute>
433                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
434                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
435                                 <parameter name="level" value="info" />
436                                 <parameter name="field1" value="idGNBCUUPFunction "/>
437                                 <parameter name="field2" value="`$tmp.idGNBCUUPFunction`"/>
438                             </record>
439                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
440                                 <parameter name='outputPath' value='tmp.pLMNInfoList' />
441                                 <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUUPList['+ $id-cuup +'].pLMNInfoList_length'`" />
442                             </execute>
443                             <for index='id-plmn' start='0' end='`$tmp.pLMNInfoList`'>
444                                 <block atomic='true'>
445                                     <switch test='`$prop.ransim-mounted`'>
446                                         <outcome value='false'>
447                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
448                                                 <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToGNBCUUP`"/>
449                                                 <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>
450                                                 <parameter name="target" value="{idNearRTRIC}"/>
451                                                 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
452                                             </execute>
453                                         </outcome>
454                                         <outcome value='true'>
455                                             <block atomic='true'>
456                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
457                                                     <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToGNBCUUP.ransim-mounted`"/>
458                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>
459                                                     <parameter name="target" value="{idNearRTRIC}"/>
460                                                     <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
461                                                 </execute>
462                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
463                                                     <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/>
464                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>
465                                                     <parameter name="target" value="{mountName}"/>
466                                                     <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/>
467                                                 </execute>
468                                             </block>
469                                         </outcome>
470                                     </switch>
471                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
472                                         <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/>
473                                         <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>
474                                         <parameter name="target" value="{idGNBCUUPFunction}"/>
475                                         <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/>
476                                     </execute>
477                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
478                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-status.json'`" />
479                                         <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoList-CUUP.url`"/>
480                                         <parameter name="restapiUser" value="`$prop.controller.user`" />
481                                         <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
482                                         <parameter name="httpMethod" value="PATCH"/>
483                                         <parameter name="responsePrefix" value="activate-gNBCUUP-PLMNInfoList-response"/>
484                                         <parameter name='contentType' value='application/yang.patch+json' />
485                                         <parameter name='accept' value='application/yang.patch-status+json'/>
486                                         <parameter name='format' value='json' />
487                                         <outcome value='failure'>
488                                             <block atomic='true'>
489                                                 <set>
490                                                     <parameter name='error-code' value='500'/>
491                                                     <parameter name='error-message' value='Error patching CUUP PLMNInfoList. Aborting RPC executiopn'/>
492                                                 </set>
493                                                 <return status='failure'>
494                                                     <parameter name='ack-final' value='Y'/>
495                                                     <parameter name='error-code' value='500'/>
496                                                     <parameter name='error-message' value='Error patching CUUP PLMNInfo. Aborting RPC executiopn'/>
497                                                 </return>
498                                                 <block atomic='true'>
499                                                     <set>
500                                                         <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
501                                                         <parameter name="tmp.status" value="`$error-code`"/>
502                                                         <parameter name="tmp.reason" value="`$error-message`"/>
503                                                         <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
504                                                         <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
505                                                     </set>
506                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
507                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
508                                                         <parameter name="level" value="info" />
509                                                         <parameter name="field1" value="URL for SO Callback Response"/>
510                                                         <parameter name='field2' value="`$tmp.so.callbackURL`" />
511                                                         <parameter name='field3' value="`$tmp.status`" />
512                                                         <parameter name='field4' value="`$tmp.reason`" />
513                                                         <parameter name='field5' value="`$tmp.requestID`" />
514                                                         <parameter name='field6' value="`$tmp.action`" />
515                                                     </record>
516                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
517                                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
518                                                         <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
519                                                         <parameter name="httpMethod" value="POST"/>
520                                                         <parameter name="responsePrefix" value="so-callback-modify-response"/>
521                                                         <parameter name='contentType' value='application/json' />
522                                                         <parameter name='format' value='json' />
523                                                         <parameter name='accept' value='application/json' />
524                                                         <parameter name="convertResponse" value="true"/>
525                                                         <outcome value='failure'>
526                                                             <block>
527                                                                 <return status='failure'>
528                                                                     <parameter name='ack-final' value='Y'/>
529                                                                     <parameter name="error-code" value="500" />
530                                                                     <parameter name="error-message" value="Error sending SO Response" />
531                                                                 </return>
532                                                             </block>
533                                                         </outcome>
534                                                         <outcome value='success'>
535                                                             <block>
536                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
537                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
538                                                                     <parameter name="level" value="info" />
539                                                                     <parameter name="field1" value="SO Response Sent "/>
540                                                                 </record>
541                                                             </block>
542                                                         </outcome>
543                                                     </execute>
544                                                 </block>
545                                             </block>
546                                         </outcome>
547                                         <outcome value='success'>
548                                             <block atomic='true'>
549                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
550                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
551                                                     <parameter name="level" value="info" />
552                                                     <parameter name="field1" value="Successfully Patched - gNBCUUP PLMNInfo List"/>
553                                                 </record>
554                                             </block>
555                                         </outcome>
556                                     </execute>
557                                 </block>
558                             </for>
559                         </block>
560                     </for>
561                 </block>
562                 <block atomic='true'>
563                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
564                         <parameter name='outputPath' value='tmp.DUList_length' />
565                         <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBDUList_length'`" />
566                     </execute>
567                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
568                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
569                         <parameter name="level" value="info" />
570                         <parameter name="field1" value="Number of DU List Entries "/>
571                         <parameter name="field2" value="`$tmp.DUList_length`"/>
572                         <parameter name="field3" value="for the NearRTRIC"/>
573                         <parameter name="field4" value="`$tmp.nearRTRICId`"/>
574                     </record>
575                     <for index='id-du' start='0' end='`$tmp.DUList_length`'>
576                         <block atomic='true'>
577                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
578                                 <parameter name='outputPath' value='tmp.GNBDUId' />
579                                 <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].gNBDUId'`" />
580                             </execute>
581                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
582                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
583                                 <parameter name="level" value="info" />
584                                 <parameter name="field1" value="GNBDUId "/>
585                                 <parameter name="field2" value="`$tmp.GNBDUId`"/>
586                             </record>
587                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
588                                 <parameter name='outputPath' value='tmp.cellDUList_length' />
589                                 <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBDUList[' + $id-du +'].cellDUList_length'`" />
590                             </execute>
591                             <for index='id-celldu' start='0' end='`$tmp.cellDUList_length`' >
592                                 <block>
593                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
594                                         <parameter name='outputPath' value='tmp.DUpLMNInfoList_length' />
595                                         <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].pLMNInfoList_length '`" />
596                                     </execute>
597                                     <for index='id-duplmn' start='0' end='`$tmp.DUpLMNInfoList_length`' >
598                                         <block atomic='true'>
599                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
600                                                 <parameter name='outputPath' value='tmp.configDBSNSSAI-DU' />
601                                                 <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].pLMNInfoList['+ $id-duplmn +'].sNSSAI.sNSSAI'`" />
602                                             </execute>
603                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
604                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
605                                                 <parameter name="level" value="info" />
606                                                 <parameter name="field1" value="sNSSAI - getNFNSSIRIC-configdb-response"/>
607                                                 <parameter name="field2" value="`$tmp.configDBSNSSAI-DU`"/>
608                                                 <parameter name="field3" value="sNSSAI from request"/>
609                                                 <parameter name="field4" value="`$tmp.sNSSAI`"/>
610                                             </record>
611                                             <switch test='`$tmp.configDBSNSSAI-DU == $tmp.sNSSAI`'>
612                                                 <outcome value='true'>
613                                                     <block atomic='true'>
614                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
615                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
616                                                             <parameter name="level" value="info" />
617                                                             <parameter name="field1" value="CellDU is applicable for the NSSAI "/>
618                                                         </record>
619                                                         <switch test='`$prop.ransim-mounted`'>
620                                                             <outcome value='false'>
621                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
622                                                                     <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellDU`"/>
623                                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>
624                                                                     <parameter name="target" value="{idNearRTRIC}"/>
625                                                                     <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
626                                                                 </execute>
627                                                             </outcome>
628                                                             <outcome value='true'>
629                                                                 <block atomic='true'>
630                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
631                                                                         <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellDU.ransim-mounted`"/>
632                                                                         <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>
633                                                                         <parameter name="target" value="{idNearRTRIC}"/>
634                                                                         <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
635                                                                     </execute>
636                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
637                                                                         <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>
638                                                                         <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>
639                                                                         <parameter name="target" value="{mountName}"/>
640                                                                         <parameter name="replacement" value="`$tmp.GNBDUId`"/>
641                                                                     </execute>
642                                                                 </block>
643                                                             </outcome>
644                                                         </switch>
645                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
646                                                             <parameter name='outputPath' value='tmp.cellDULocalId' />
647                                                             <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellCUList['+ $id-celldu +'].cellLocalId'`" />
648                                                         </execute>
649                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
650                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>
651                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>
652                                                             <parameter name="target" value="{idGNBDUFunction}"/>
653                                                             <parameter name="replacement" value="`$tmp.GNBDUId`"/>
654                                                         </execute>
655                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
656                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>
657                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>
658                                                             <parameter name="target" value="{idNRCellDU}"/>
659                                                             <parameter name="replacement" value="`$tmp.cellCULocalId`"/>
660                                                         </execute>
661                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
662                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>
663                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>
664                                                             <parameter name="target" value="{mcc}"/>
665                                                             <parameter name="replacement" value="`$tmp.mcc`"/>
666                                                         </execute>
667                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
668                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>
669                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>
670                                                             <parameter name="target" value="{mnc}"/>
671                                                             <parameter name="replacement" value="`$tmp.mnc`"/>
672                                                         </execute>
673                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
674                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
675                                                             <parameter name="level" value="info" />
676                                                             <parameter name="field1" value="patch cellCU NSSAI parameters"/>
677                                                             <parameter name="field2" value="`$tmp.nearRTRICId`"/>
678                                                             <parameter name="field3" value="`$tmp.GNBDUId`"/>
679                                                             <parameter name="field4" value="`$tmp.cellDULocalId`"/>
680                                                             <parameter name="field5" value="`$tmp.mcc`"/>
681                                                             <parameter name="field6" value="`$tmp.mnc`"/>
682                                                             <parameter name="field7" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>
683                                                         </record>
684                                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
685                                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-status.json'`" />
686                                                             <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoListEntry-cellDU.url`"/>
687                                                             <parameter name="restapiUser" value="`$prop.controller.user`" />
688                                                             <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
689                                                             <parameter name="httpMethod" value="PATCH"/>
690                                                             <parameter name="responsePrefix" value="activate-cellDU-PLMNInfoList-response"/>
691                                                             <parameter name='contentType' value='application/yang.patch+json' />
692                                                             <parameter name='accept' value='application/yang.patch-status+json'/>
693                                                             <parameter name='format' value='json' />
694                                                             <outcome value='failure'>
695                                                                 <block atomic='true'>
696                                                                     <block atomic='true'>
697                                                                         <set>
698                                                                             <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
699                                                                             <parameter name="tmp.status" value="`$error-code`"/>
700                                                                             <parameter name="tmp.reason" value="`$error-message`"/>
701                                                                             <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
702                                                                             <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
703                                                                         </set>
704                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
705                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
706                                                                             <parameter name="level" value="info" />
707                                                                             <parameter name="field1" value="URL for SO Callback Response"/>
708                                                                             <parameter name='field2' value="`$tmp.so.callbackURL`" />
709                                                                             <parameter name='field3' value="`$tmp.status`" />
710                                                                             <parameter name='field4' value="`$tmp.reason`" />
711                                                                             <parameter name='field5' value="`$tmp.requestID`" />
712                                                                             <parameter name='field6' value="`$tmp.action`" />
713                                                                         </record>
714                                                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
715                                                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
716                                                                             <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
717                                                                             <parameter name="httpMethod" value="POST"/>
718                                                                             <parameter name="responsePrefix" value="so-callback-modify-response"/>
719                                                                             <parameter name='contentType' value='application/json' />
720                                                                             <parameter name='format' value='json' />
721                                                                             <parameter name='accept' value='application/json' />
722                                                                             <parameter name="convertResponse" value="true"/>
723                                                                             <outcome value='failure'>
724                                                                                 <block>
725                                                                                     <return status='failure'>
726                                                                                         <parameter name='ack-final' value='Y'/>
727                                                                                         <parameter name="error-code" value="500" />
728                                                                                         <parameter name="error-message" value="Error sending SO Response" />
729                                                                                     </return>
730                                                                                 </block>
731                                                                             </outcome>
732                                                                             <outcome value='success'>
733                                                                                 <block>
734                                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
735                                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
736                                                                                         <parameter name="level" value="info" />
737                                                                                         <parameter name="field1" value="SO Response Sent "/>
738                                                                                     </record>
739                                                                                 </block>
740                                                                             </outcome>
741                                                                         </execute>
742                                                                     </block>
743                                                                     <set>
744                                                                         <parameter name='error-code' value='500'/>
745                                                                         <parameter name='error-message' value='Error patching cellDU PLMNInfoList. Aborting RPC executiopn'/>
746                                                                     </set>
747                                                                     <return status='failure'>
748                                                                         <parameter name='ack-final' value='Y'/>
749                                                                         <parameter name='error-code' value='500'/>
750                                                                         <parameter name='error-message' value='Error updating NECellDU - PLMNInfo. Aborting RPC executiopn'/>
751                                                                     </return>
752                                                                 </block>
753                                                             </outcome>
754                                                             <outcome value='success'>
755                                                                 <block atomic='true'>
756                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
757                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
758                                                                         <parameter name="level" value="info" />
759                                                                         <parameter name="field1" value="Successfully Patched - cellDU PLMNInfo List"/>
760                                                                     </record>
761                                                                 </block>
762                                                             </outcome>
763                                                         </execute>
764                                                     </block>
765                                                 </outcome>
766                                             </switch>
767                                         </block>
768                                     </for>
769                                 </block>
770                             </for>
771                         </block>
772                     </for>
773                 </block>
774             </for>
775             <return status='success'>
776                 <parameter name="ack-final" value="Y" />
777                 <parameter name="error-code" value="200" />
778                 <parameter name="error-message" value="SUCCESSFUL Execution" />
779             </return>
780             <block atomic='true'>
781                 <set>
782                     <parameter name="tmp.status" value="`$error-code`"/>
783                     <parameter name="tmp.reason" value="`$error-message`"/>
784                     <parameter name="tmp.requestID" value="`$activate-r-a-n-slice-input.common-header.request-id `"/>
785                     <parameter name="tmp.action" value="`$activate-r-a-n-slice-input.action`"/>
786                 </set>
787                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
788                     <parameter name="source" value="`$prop.restapi.so.callbackURL`"/>
789                     <parameter name="outputPath" value="tmp.so.callbackURL"/>
790                     <parameter name="target" value="{requestId}"/>
791                     <parameter name="replacement" value="`$tmp.requestID`"/>
792                 </execute>
793                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
794                     <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
795                     <parameter name="level" value="info" />
796                     <parameter name="field1" value="URL for SO Callback Response"/>
797                     <parameter name='field2' value="`$payloadJson.input.callbackURL`" />
798                     <parameter name='field3' value="`$tmp.status`" />
799                     <parameter name='field4' value="`$tmp.reason`" />
800                     <parameter name='field5' value="`$tmp.requestID`" />
801                     <parameter name='field6' value="`$tmp.action`" />
802                 </record>
803                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
804                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
805                     <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/>
806                     <parameter name="httpMethod" value="POST"/>
807                     <parameter name="responsePrefix" value="so-callback-response"/>
808                     <parameter name='contentType' value='application/json' />
809                     <parameter name='format' value='json' />
810                     <parameter name='accept' value='application/json' />
811                     <parameter name="restapiUser" value="`$prop.restapi.so.user`" />
812                     <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/>
813                     <outcome value='failure'>
814                         <block>
815                             <set>
816                                 <parameter name='error-code' value='500'/>
817                                 <parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/>
818                             </set>
819                             <return status='failure'>
820                                 <parameter name='ack-final' value='Y'/>
821                                 <parameter name="error-code" value="500" />
822                                 <parameter name="error-message" value="Error sending SO Response" />
823                             </return>
824                         </block>
825                     </outcome>
826                     <outcome value='success'>
827                         <block>
828                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
829                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
830                                 <parameter name="level" value="info" />
831                                 <parameter name="field1" value="SO Response Sent "/>
832                             </record>
833                         </block>
834                     </outcome>
835                 </execute>
836             </block>
837         </block>
838     </method>
839 </service-logic>