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