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