fix odl patches
[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             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>
196                 <parameter name="string" value="`$tmp.pLMNId`" />
197                 <parameter name="result" value="tmp.mcc"/>
198                 <parameter name="begin-index" value="0" />
199                 <parameter name="end-index" value="3" />
200             </execute>
201             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>
202                 <parameter name="string" value="`$tmp.pLMNId`" />
203                 <parameter name="result" value="tmp.mnc"/>
204                 <parameter name="begin-index" value="4" />
205             </execute>
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.configDBSNSSAI' />
266                                                 <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].pLMNInfoList['+ $id-cuplmn +'].sNSSAI.sNSSAI'`" />
267                                             </execute>
268                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
269                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
270                                                 <parameter name="level" value="info" />
271                                                 <parameter name="field1" value="sNSSAI - getNFNSSIRIC-configdb-response"/>
272                                                 <parameter name="field2" value="`$tmp.configDBSNSSAI`"/>
273                                                 <parameter name="field3" value="sNSSAI from request"/>
274                                                 <parameter name="field4" value="`$tmp.sNSSAI`"/>
275                                             </record>
276                                             <switch test='`$tmp.configDBSNSSAI == $tmp.sNSSAI`'>
277                                                 <outcome value='true'>
278                                                     <block atomic='true'>
279                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
280                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
281                                                             <parameter name="level" value="info" />
282                                                             <parameter name="field1" value="CellCU is applicable for the NSSAI "/>
283                                                         </record>
284                                                         <switch test='`$prop.ransim-mounted`'>
285                                                             <outcome value='false'>
286                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
287                                                                     <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellCU`"/>
288                                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>
289                                                                     <parameter name="target" value="{idNearRTRIC}"/>
290                                                                     <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
291                                                                 </execute>
292                                                             </outcome>
293                                                             <outcome value='true'>
294                                                                 <block atomic='true'>
295                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
296                                                                         <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellCU.ransim-mounted`"/>
297                                                                         <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>
298                                                                         <parameter name="target" value="{idNearRTRIC}"/>
299                                                                         <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
300                                                                     </execute>
301                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
302                                                                         <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/>
303                                                                         <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>
304                                                                         <parameter name="target" value="{mountName}"/>
305                                                                         <parameter name="replacement" value="`$tmp.CUCPName`"/>
306                                                                     </execute>
307                                                                 </block>
308                                                             </outcome>
309                                                         </switch>
310                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
311                                                             <parameter name='outputPath' value='tmp.cellCULocalId' />
312                                                             <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].cellLocalId'`" />
313                                                         </execute>
314                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
315                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/>
316                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>
317                                                             <parameter name="target" value="{idGNBCUCPFunction}"/>
318                                                             <parameter name="replacement" value="`$tmp.CUCPName`"/>
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="{idNRCellCU}"/>
324                                                             <parameter name="replacement" value="`$tmp.cellCULocalId`"/>
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="{mcc}"/>
330                                                             <parameter name="replacement" value="`$tmp.mcc`"/>
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="{mnc}"/>
336                                                             <parameter name="replacement" value="`$tmp.mnc`"/>
337                                                         </execute>
338                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
339                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
340                                                             <parameter name="level" value="info" />
341                                                             <parameter name="field1" value="patch cellCU NSSAI parameters"/>
342                                                             <parameter name="field2" value="`$tmp.nearRTRICId`"/>
343                                                             <parameter name="field3" value="`$tmp.CUCPName`"/>
344                                                             <parameter name="field4" value="`$tmp.cellCULocalId`"/>
345                                                             <parameter name="field5" value="`$tmp.mcc`"/>
346                                                             <parameter name="field6" value="`$tmp.mnc`"/>
347                                                             <parameter name="field7" value="`$tmp.patchPLMNInfoListEntry.url`"/>
348                                                         </record>
349                                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
350                                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-status.json'`" />
351                                                             <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoListEntry.url`"/>
352                                                             <parameter name="restapiUser" value="`$prop.controller.user`" />
353                                                             <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
354                                                             <parameter name="httpMethod" value="PATCH"/>
355                                                             <parameter name="responsePrefix" value="activate-cellCU-PLMNInfoList-response"/>
356                                                             <parameter name='contentType' value='application/yang.patch+json' />
357                                                             <parameter name='accept' value='application/yang.patch-status+json'/>
358                                                             <parameter name='format' value='json' />
359                                                             <outcome value='failure'>
360                                                                 <block atomic='true'>
361                                                                     <set>
362                                                                         <parameter name='error-code' value='500'/>
363                                                                         <parameter name='error-message' value='Error patching cellCU PLMNInfoList. Aborting RPC executiopn'/>
364                                                                     </set>
365                                                                     <return status='failure'>
366                                                                         <parameter name='ack-final' value='Y'/>
367                                                                         <parameter name='error-code' value='500'/>
368                                                                         <parameter name='error-message' value='Error updating NRcellCU - PLMNInfo. Aborting RPC executiopn'/>
369                                                                     </return>
370                                                                     <block atomic='true'>
371                                                                         <set>
372                                                                             <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
373                                                                             <parameter name="tmp.status" value="`$error-code`"/>
374                                                                             <parameter name="tmp.reason" value="`$error-message`"/>
375                                                                             <parameter name="tmp.requestID" value="`$activate-r-a-n-slice-instance-input.common-header.request-id`"/>
376                                                                             <parameter name="tmp.action" value="`$activate-r-a-n-slice-instance-input.action`"/>
377                                                                         </set>
378                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
379                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
380                                                                             <parameter name="level" value="info" />
381                                                                             <parameter name="field1" value="URL for SO Callback Response"/>
382                                                                             <parameter name='field2' value="`$tmp.so.callbackURL`" />
383                                                                             <parameter name='field3' value="`$tmp.status`" />
384                                                                             <parameter name='field4' value="`$tmp.reason`" />
385                                                                             <parameter name='field5' value="`$tmp.requestID`" />
386                                                                             <parameter name='field6' value="`$tmp.action`" />
387                                                                         </record>
388                                                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
389                                                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
390                                                                             <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
391                                                                             <parameter name="httpMethod" value="POST"/>
392                                                                             <parameter name="responsePrefix" value="so-callback-activate-response"/>
393                                                                             <parameter name='contentType' value='application/json' />
394                                                                             <parameter name='format' value='json' />
395                                                                             <parameter name='accept' value='*/*' />
396                                                                             <parameter name="convertResponse" value="true"/>
397                                                                             <outcome value='failure'>
398                                                                                 <block>
399                                                                                     <return status='failure'>
400                                                                                         <parameter name='ack-final' value='Y'/>
401                                                                                         <parameter name="error-code" value="500" />
402                                                                                         <parameter name="error-message" value="Error sending SO Response" />
403                                                                                     </return>
404                                                                                 </block>
405                                                                             </outcome>
406                                                                             <outcome value='success'>
407                                                                                 <block>
408                                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
409                                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
410                                                                                         <parameter name="level" value="info" />
411                                                                                         <parameter name="field1" value="SO Response Sent "/>
412                                                                                     </record>
413                                                                                 </block>
414                                                                             </outcome>
415                                                                         </execute>
416                                                                     </block>
417                                                                 </block>
418                                                             </outcome>
419                                                             <outcome value='success'>
420                                                                 <block atomic='true'>
421                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
422                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
423                                                                         <parameter name="level" value="info" />
424                                                                         <parameter name="field1" value="Successfully Patched - cellCU PLMNInfo List"/>
425                                                                     </record>
426                                                                 </block>
427                                                             </outcome>
428                                                         </execute>
429                                                     </block>
430                                                 </outcome>
431                                             </switch>
432                                         </block>
433                                     </for>
434                                 </block>
435                             </for>
436                         </block>
437                     </for>
438                 </block>
439                 <block atomic='true'>
440                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
441                         <parameter name='outputPath' value='tmp.CUUPList_length' />
442                         <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBCUUPList_length'`" />
443                     </execute>
444                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
445                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
446                         <parameter name="level" value="info" />
447                         <parameter name="field1" value="Number of CUCP List Entries "/>
448                         <parameter name="field2" value="`$tmp.CUUPList_length`"/>
449                         <parameter name="field3" value="for the NearRTRIC"/>
450                         <parameter name="field4" value="`$tmp.nearRTRICId`"/>
451                     </record>
452                     <for index='id-cuup' start='0' end='`$tmp.CUUPList_length`'>
453                         <block atomic='true'>
454                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
455                                 <parameter name='outputPath' value='tmp.idGNBCUUPFunction' />
456                                 <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUUPList['+ $id-cuup +'].gNBCUUPId'`" />
457                             </execute>
458                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
459                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
460                                 <parameter name="level" value="info" />
461                                 <parameter name="field1" value="idGNBCUUPFunction "/>
462                                 <parameter name="field2" value="`$tmp.idGNBCUUPFunction`"/>
463                             </record>
464                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
465                                 <parameter name='outputPath' value='tmp.pLMNInfoList' />
466                                 <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUUPList['+ $id-cuup +'].pLMNInfoList_length'`" />
467                             </execute>
468                             <for index='id-plmn' start='0' end='`$tmp.pLMNInfoList`'>
469                                 <block atomic='true'>
470                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
471                                         <parameter name='outputPath' value='tmp.configDBSNSSAI' />
472                                         <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUUPList['+ $idz +'].pLMNInfoList['+ $id-plmn +'].sNSSAI.sNSSAI'`" />
473                                     </execute>
474                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
475                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
476                                         <parameter name="level" value="info" />
477                                         <parameter name="field1" value="sNSSAI - getNFNSSIRIC-configdb-response"/>
478                                         <parameter name="field2" value="`$tmp.configDBSNSSAI`"/>
479                                         <parameter name="field3" value="sNSSAI from request"/>
480                                         <parameter name="field4" value="`$tmp.sNSSAI`"/>
481                                     </record>
482                                     <switch test='`$tmp.configDBSNSSAI == $tmp.sNSSAI`'>
483                                         <outcome value='false'>
484                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
485                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
486                                                 <parameter name="level" value="info" />
487                                                 <parameter name="field1" value="sNSSAI doesn't match"/>
488                                             </record>
489                                         </outcome>
490                                         <outcome value='true'>
491                                             <block atomic='true'>
492                                                 <switch test='`$prop.ransim-mounted`'>
493                                                     <outcome value='false'>
494                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
495                                                             <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToGNBCUUP`"/>
496                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>
497                                                             <parameter name="target" value="{idNearRTRIC}"/>
498                                                             <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
499                                                         </execute>
500                                                     </outcome>
501                                                     <outcome value='true'>
502                                                         <block atomic='true'>
503                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
504                                                                 <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToGNBCUUP.ransim-mounted`"/>
505                                                                 <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>
506                                                                 <parameter name="target" value="{idNearRTRIC}"/>
507                                                                 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
508                                                             </execute>
509                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
510                                                                 <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/>
511                                                                 <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>
512                                                                 <parameter name="target" value="{mountName}"/>
513                                                                 <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/>
514                                                             </execute>
515                                                         </block>
516                                                     </outcome>
517                                                 </switch>
518                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
519                                                     <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/>
520                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>
521                                                     <parameter name="target" value="{idNearRTRIC}"/>
522                                                     <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
523                                                 </execute>
524                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
525                                                     <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/>
526                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>
527                                                     <parameter name="target" value="{idGNBCUUPFunction}"/>
528                                                     <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/>
529                                                 </execute>
530                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
531                                                     <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/>
532                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>
533                                                     <parameter name="target" value="{mcc}"/>
534                                                     <parameter name="replacement" value="`$tmp.mcc`"/>
535                                                 </execute>
536                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
537                                                     <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/>
538                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>
539                                                     <parameter name="target" value="{mnc}"/>
540                                                     <parameter name="replacement" value="`$tmp.mnc`"/>
541                                                 </execute>
542                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
543                                                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-status.json'`" />
544                                                     <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoList-CUUP.url`"/>
545                                                     <parameter name="restapiUser" value="`$prop.controller.user`" />
546                                                     <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
547                                                     <parameter name="httpMethod" value="PATCH"/>
548                                                     <parameter name="responsePrefix" value="activate-gNBCUUP-PLMNInfoList-response"/>
549                                                     <parameter name='contentType' value='application/yang.patch+json' />
550                                                     <parameter name='accept' value='application/yang.patch-status+json'/>
551                                                     <parameter name='format' value='json' />
552                                                     <outcome value='failure'>
553                                                         <block atomic='true'>
554                                                             <set>
555                                                                 <parameter name='error-code' value='500'/>
556                                                                 <parameter name='error-message' value='Error patching CUUP PLMNInfoList. Aborting RPC executiopn'/>
557                                                             </set>
558                                                             <return status='failure'>
559                                                                 <parameter name='ack-final' value='Y'/>
560                                                                 <parameter name='error-code' value='500'/>
561                                                                 <parameter name='error-message' value='Error patching CUUP PLMNInfo. Aborting RPC executiopn'/>
562                                                             </return>
563                                                             <block atomic='true'>
564                                                                 <set>
565                                                                     <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
566                                                                     <parameter name="tmp.status" value="`$error-code`"/>
567                                                                     <parameter name="tmp.reason" value="`$error-message`"/>
568                                                                     <parameter name="tmp.requestID" value="`$activate-r-a-n-slice-instance-input.common-header.request-id`"/>
569                                                                     <parameter name="tmp.action" value="`$activate-r-a-n-slice-instance-input.action`"/>
570                                                                 </set>
571                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
572                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
573                                                                     <parameter name="level" value="info" />
574                                                                     <parameter name="field1" value="URL for SO Callback Response"/>
575                                                                     <parameter name='field2' value="`$tmp.so.callbackURL`" />
576                                                                     <parameter name='field3' value="`$tmp.status`" />
577                                                                     <parameter name='field4' value="`$tmp.reason`" />
578                                                                     <parameter name='field5' value="`$tmp.requestID`" />
579                                                                     <parameter name='field6' value="`$tmp.action`" />
580                                                                 </record>
581                                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
582                                                                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
583                                                                     <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
584                                                                     <parameter name="httpMethod" value="POST"/>
585                                                                     <parameter name="responsePrefix" value="so-callback-activate-response"/>
586                                                                     <parameter name='contentType' value='application/json' />
587                                                                     <parameter name='format' value='json' />
588                                                                     <parameter name='accept' value='*/*' />
589                                                                     <parameter name="convertResponse" value="true"/>
590                                                                     <outcome value='failure'>
591                                                                         <block>
592                                                                             <return status='failure'>
593                                                                                 <parameter name='ack-final' value='Y'/>
594                                                                                 <parameter name="error-code" value="500" />
595                                                                                 <parameter name="error-message" value="Error sending SO Response" />
596                                                                             </return>
597                                                                         </block>
598                                                                     </outcome>
599                                                                     <outcome value='success'>
600                                                                         <block>
601                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
602                                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
603                                                                                 <parameter name="level" value="info" />
604                                                                                 <parameter name="field1" value="SO Response Sent "/>
605                                                                             </record>
606                                                                         </block>
607                                                                     </outcome>
608                                                                 </execute>
609                                                             </block>
610                                                         </block>
611                                                     </outcome>
612                                                     <outcome value='success'>
613                                                         <block atomic='true'>
614                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
615                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
616                                                                 <parameter name="level" value="info" />
617                                                                 <parameter name="field1" value="Successfully Patched - gNBCUUP PLMNInfo List"/>
618                                                             </record>
619                                                         </block>
620                                                     </outcome>
621                                                 </execute>
622                                             </block>
623                                         </outcome>
624                                     </switch>
625                                 </block>
626                             </for>
627                         </block>
628                     </for>
629                 </block>
630                 <block atomic='true'>
631                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
632                         <parameter name='outputPath' value='tmp.DUList_length' />
633                         <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBDUList_length'`" />
634                     </execute>
635                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
636                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
637                         <parameter name="level" value="info" />
638                         <parameter name="field1" value="Number of DU List Entries "/>
639                         <parameter name="field2" value="`$tmp.DUList_length`"/>
640                         <parameter name="field3" value="for the NearRTRIC"/>
641                         <parameter name="field4" value="`$tmp.nearRTRICId`"/>
642                     </record>
643                     <for index='id-du' start='0' end='`$tmp.DUList_length`'>
644                         <block atomic='true'>
645                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
646                                 <parameter name='outputPath' value='tmp.GNBDUId' />
647                                 <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].gNBDUId'`" />
648                             </execute>
649                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
650                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
651                                 <parameter name="level" value="info" />
652                                 <parameter name="field1" value="GNBDUId "/>
653                                 <parameter name="field2" value="`$tmp.GNBDUId`"/>
654                             </record>
655                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
656                                 <parameter name='outputPath' value='tmp.cellDUList_length' />
657                                 <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBDUList[' + $id-du +'].cellDUList_length'`" />
658                             </execute>
659                             <for index='id-celldu' start='0' end='`$tmp.cellDUList_length`' >
660                                 <block>
661                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
662                                         <parameter name='outputPath' value='tmp.cellDULocalId' />
663                                         <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].cellLocalId'`" />
664                                     </execute>
665                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
666                                         <parameter name='outputPath' value='tmp.DUpLMNInfoList_length' />
667                                         <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].pLMNInfoList_length'`" />
668                                     </execute>
669                                     <for index='id-duplmn' start='0' end='`$tmp.DUpLMNInfoList_length`' >
670                                         <block atomic='true'>
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="DUpLMNInfoList_length"/>
675                                                 <parameter name="field2" value="`$tmp.DUpLMNInfoList_length`"/>
676                                             </record>
677                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
678                                                 <parameter name='outputPath' value='tmp.configDBSNSSAI-DU' />
679                                                 <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].pLMNInfoList['+ $id-duplmn +'].sNSSAI.sNSSAI'`" />
680                                             </execute>
681                                             <switch test='`$tmp.configDBSNSSAI-DU == $tmp.sNSSAI`'>
682                                                 <outcome value='true'>
683                                                     <block atomic='true'>
684                                                         <switch test='`$prop.ransim-mounted`'>
685                                                             <outcome value='false'>
686                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
687                                                                     <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellDU`"/>
688                                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>
689                                                                     <parameter name="target" value="{idNearRTRIC}"/>
690                                                                     <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
691                                                                 </execute>
692                                                             </outcome>
693                                                             <outcome value='true'>
694                                                                 <block atomic='true'>
695                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
696                                                                         <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellDU.ransim-mounted`"/>
697                                                                         <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>
698                                                                         <parameter name="target" value="{idNearRTRIC}"/>
699                                                                         <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
700                                                                     </execute>
701                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
702                                                                         <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>
703                                                                         <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>
704                                                                         <parameter name="target" value="{mountName}"/>
705                                                                         <parameter name="replacement" value="`$tmp.GNBDUId`"/>
706                                                                     </execute>
707                                                                 </block>
708                                                             </outcome>
709                                                         </switch>
710                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
711                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>
712                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>
713                                                             <parameter name="target" value="{idGNBDUFunction}"/>
714                                                             <parameter name="replacement" value="`$tmp.GNBDUId`"/>
715                                                         </execute>
716                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
717                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>
718                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>
719                                                             <parameter name="target" value="{idNRCellDU}"/>
720                                                             <parameter name="replacement" value="`$tmp.cellDULocalId`"/>
721                                                         </execute>
722                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
723                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>
724                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>
725                                                             <parameter name="target" value="{mcc}"/>
726                                                             <parameter name="replacement" value="`$tmp.mcc`"/>
727                                                         </execute>
728                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
729                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>
730                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>
731                                                             <parameter name="target" value="{mnc}"/>
732                                                             <parameter name="replacement" value="`$tmp.mnc`"/>
733                                                         </execute>
734                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
735                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
736                                                             <parameter name="level" value="info" />
737                                                             <parameter name="field1" value="patch cellDU NSSAI parameters"/>
738                                                             <parameter name="field2" value="`$tmp.nearRTRICId`"/>
739                                                             <parameter name="field3" value="`$tmp.GNBDUId`"/>
740                                                             <parameter name="field4" value="`$tmp.cellDULocalId`"/>
741                                                             <parameter name="field5" value="`$tmp.mcc`"/>
742                                                             <parameter name="field6" value="`$tmp.mnc`"/>
743                                                             <parameter name="field7" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>
744                                                         </record>
745                                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
746                                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-status.json'`" />
747                                                             <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoListEntry-cellDU.url`"/>
748                                                             <parameter name="restapiUser" value="`$prop.controller.user`" />
749                                                             <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
750                                                             <parameter name="httpMethod" value="PATCH"/>
751                                                             <parameter name="responsePrefix" value="activate-cellDU-PLMNInfoList-response"/>
752                                                             <parameter name='contentType' value='application/yang.patch+json' />
753                                                             <parameter name='accept' value='application/yang.patch-status+json'/>
754                                                             <parameter name='format' value='json' />
755                                                             <outcome value='failure'>
756                                                                 <block atomic='true'>
757                                                                     <block atomic='true'>
758                                                                         <set>
759                                                                             <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
760                                                                             <parameter name="tmp.status" value="`$error-code`"/>
761                                                                             <parameter name="tmp.reason" value="`$error-message`"/>
762                                                                             <parameter name="tmp.requestID" value="`$activate-r-a-n-slice-instance-input.common-header.request-id`"/>
763                                                                             <parameter name="tmp.action" value="`$activate-r-a-n-slice-instance-input.action`"/>
764                                                                         </set>
765                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
766                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
767                                                                             <parameter name="level" value="info" />
768                                                                             <parameter name="field1" value="URL for SO Callback Response"/>
769                                                                             <parameter name='field2' value="`$tmp.so.callbackURL`" />
770                                                                             <parameter name='field3' value="`$tmp.status`" />
771                                                                             <parameter name='field4' value="`$tmp.reason`" />
772                                                                             <parameter name='field5' value="`$tmp.requestID`" />
773                                                                             <parameter name='field6' value="`$tmp.action`" />
774                                                                         </record>
775                                                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
776                                                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
777                                                                             <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
778                                                                             <parameter name="httpMethod" value="POST"/>
779                                                                             <parameter name="responsePrefix" value="so-callback-activate-response"/>
780                                                                             <parameter name='contentType' value='application/json' />
781                                                                             <parameter name='format' value='json' />
782                                                                             <parameter name='accept' value='*/*' />
783                                                                             <parameter name="convertResponse" value="true"/>
784                                                                             <outcome value='failure'>
785                                                                                 <block>
786                                                                                     <return status='failure'>
787                                                                                         <parameter name='ack-final' value='Y'/>
788                                                                                         <parameter name="error-code" value="500" />
789                                                                                         <parameter name="error-message" value="Error sending SO Response" />
790                                                                                     </return>
791                                                                                 </block>
792                                                                             </outcome>
793                                                                             <outcome value='success'>
794                                                                                 <block>
795                                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
796                                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
797                                                                                         <parameter name="level" value="info" />
798                                                                                         <parameter name="field1" value="SO Response Sent "/>
799                                                                                     </record>
800                                                                                 </block>
801                                                                             </outcome>
802                                                                         </execute>
803                                                                     </block>
804                                                                     <set>
805                                                                         <parameter name='error-code' value='500'/>
806                                                                         <parameter name='error-message' value='Error patching cellDU PLMNInfoList. Aborting RPC executiopn'/>
807                                                                     </set>
808                                                                     <return status='failure'>
809                                                                         <parameter name='ack-final' value='Y'/>
810                                                                         <parameter name='error-code' value='500'/>
811                                                                         <parameter name='error-message' value='Error updating NECellDU - PLMNInfo. Aborting RPC executiopn'/>
812                                                                     </return>
813                                                                 </block>
814                                                             </outcome>
815                                                             <outcome value='success'>
816                                                                 <block atomic='true'>
817                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
818                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
819                                                                         <parameter name="level" value="info" />
820                                                                         <parameter name="field1" value="Successfully Patched - cellDU PLMNInfo List"/>
821                                                                     </record>
822                                                                 </block>
823                                                             </outcome>
824                                                         </execute>
825                                                     </block>
826                                                 </outcome>
827                                             </switch>
828                                         </block>
829                                     </for>
830                                 </block>
831                             </for>
832                         </block>
833                     </for>
834                 </block>
835             </for>
836             <return status='success'>
837                 <parameter name="ack-final" value="Y" />
838                 <parameter name="error-code" value="200" />
839                 <parameter name="error-message" value="SUCCESSFUL Execution" />
840             </return>
841             <block atomic='true'>
842                 <set>
843                     <parameter name="tmp.status" value="`$error-code`"/>
844                     <parameter name="tmp.reason" value="`$error-message`"/>
845                     <parameter name="tmp.requestID" value="`$activate-r-a-n-slice-input.common-header.request-id `"/>
846                     <parameter name="tmp.action" value="`$activate-r-a-n-slice-input.action`"/>
847                 </set>
848                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
849                     <parameter name="source" value="`$prop.restapi.so.callbackURL`"/>
850                     <parameter name="outputPath" value="tmp.so.callbackURL"/>
851                     <parameter name="target" value="{requestId}"/>
852                     <parameter name="replacement" value="`$tmp.requestID`"/>
853                 </execute>
854                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
855                     <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
856                     <parameter name="level" value="info" />
857                     <parameter name="field1" value="URL for SO Callback Response"/>
858                     <parameter name='field2' value="`$payloadJson.input.callbackURL`" />
859                     <parameter name='field3' value="`$tmp.status`" />
860                     <parameter name='field4' value="`$tmp.reason`" />
861                     <parameter name='field5' value="`$tmp.requestID`" />
862                     <parameter name='field6' value="`$tmp.action`" />
863                 </record>
864                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
865                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
866                     <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/>
867                     <parameter name="httpMethod" value="POST"/>
868                     <parameter name="responsePrefix" value="so-callback-activate-response"/>
869                     <parameter name='contentType' value='application/json' />
870                     <parameter name='format' value='json' />
871                     <parameter name='accept' value='*/*' />
872                     <parameter name="restapiUser" value="`$prop.restapi.so.user`" />
873                     <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/>
874                     <outcome value='failure'>
875                         <block>
876                             <set>
877                                 <parameter name='error-code' value='500'/>
878                                 <parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/>
879                             </set>
880                             <return status='failure'>
881                                 <parameter name='ack-final' value='Y'/>
882                                 <parameter name="error-code" value="500" />
883                                 <parameter name="error-message" value="Error sending SO Response" />
884                             </return>
885                         </block>
886                     </outcome>
887                     <outcome value='success'>
888                         <block>
889                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
890                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />
891                                 <parameter name="level" value="info" />
892                                 <parameter name="field1" value="SO Response Sent "/>
893                             </record>
894                         </block>
895                     </outcome>
896                 </execute>
897             </block>
898         </block>
899     </method>
900 </service-logic>