ActivateRANSliceInstance - CPS Integration
[ccsdk/distribution.git] / platform-logic / ran-slice-api / src / main / xml / ran-slice-api_activateRANSliceInstance-cps.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-cps' 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             <set>\r
49                 <parameter name='tmp.sliceprofileid' value="`$payloadJson.input.sliceProfileId`" />\r
50             </set>\r
51             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
52                 <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/ran-slice-api-dg.properties' />\r
53                 <parameter name='contextPrefix' value='prop' />\r
54             </execute>\r
55             <set>\r
56                 <parameter name='tmp.payload.RANNFNSSIId' value="`$payloadJson.input.RANNFNSSIId`" />\r
57             </set>\r
58             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
59                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
60                 <parameter name="level" value="info" />\r
61                 <parameter name="field1" value="Properties read .. controller details "/>\r
62                 <parameter name="field2" value="`$prop.controller.user`"/>\r
63                 <parameter name="field3" value="`$prop.controller.pwd`"/>\r
64                 <parameter name="field4" value="`$prop.controller.url`"/>\r
65                 <parameter name="field5" value="ransim-mounted (true/false): "/>\r
66                 <parameter name="field6" value="`$prop.ransim-mounted`"/>\r
67                 <parameter name="field7" value="config DB deployed (true/false): "/>\r
68                 <parameter name="field8" value="`$prop.configdb-deployed`"/>\r
69             </record>\r
70             <switch test='`$activate-r-a-n-slice-instance-input.action == activate`'>\r
71                 <outcome value='true'>\r
72                     <block atomic='true'>\r
73                         <set>\r
74                             <parameter name='tmp.status' value='ACTIVE' />\r
75                         </set>\r
76                     </block>\r
77                 </outcome>\r
78                 <outcome value='false'>\r
79                     <block atomic='true'>\r
80                         <set>\r
81                             <parameter name='tmp.status' value='INACTIVE' />\r
82                         </set>\r
83                     </block>\r
84                 </outcome>\r
85             </switch>\r
86             <set>\r
87                 <parameter name='tmp.getAnchors.URL' value="`$prop.restapi.cps.anchors.endpoint`"/>\r
88             </set>\r
89             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
90                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
91                 <parameter name="level" value="info" />\r
92                 <parameter name="field1" value="URL to fetch the anchors"/>\r
93                 <parameter name="field2" value="`$tmp.getAnchors.URL`"/>\r
94             </record>\r
95             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
96                 <parameter name="restapiUrl" value="`$tmp.getAnchors.URL`"/>\r
97                 <parameter name="httpMethod" value="GET"/>\r
98                 <parameter name="restapiUser" value="cpsuser" />\r
99                 <parameter name="restapiPassword" value="cpsr0cks!"/>\r
100                 <parameter name="responsePrefix" value="get-anchors-cps-response"/>\r
101                 <parameter name='contentType' value='application/json' />\r
102                 <parameter name='format' value='json' />\r
103                 <parameter name='accept' value='application/json' />\r
104                 <parameter name="convertResponse" value="true"/>\r
105                 <outcome value='failure'>\r
106                     <block>\r
107                         <set>\r
108                             <parameter name='error-code' value='500'/>\r
109                             <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>\r
110                         </set>\r
111                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
112                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
113                             <parameter name="level" value="info" />\r
114                             <parameter name="field1" value="Failed to fetch anchors from CPS"/>\r
115                         </record>\r
116                     </block>\r
117                 </outcome>\r
118                 <outcome value='success'>\r
119                     <block atomic='true'>\r
120                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
121                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
122                             <parameter name="level" value="info" />\r
123                             <parameter name="field1" value="Successfully Obtained anchors from CPS"/>\r
124                             <parameter name="field2" value="`$get-anchors-cps-response._length`"/>\r
125                         </record>\r
126                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
127                             <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-activateRANSlice-context.log' />\r
128                         </execute>\r
129                     </block>\r
130                 </outcome>\r
131             </execute>\r
132             <set>\r
133                 <parameter name='tmp.anchors.length' value="`$get-anchors-cps-response._length`"/>\r
134             </set>\r
135             <set>\r
136                 <parameter name='tmp.RIC.length' value="0"/>\r
137             </set>\r
138             <for index='anc' start='0' end='`$tmp.anchors.length`'>\r
139                 <block atomic='true'>\r
140                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
141                         <parameter name='outputPath' value='tmp.schemaset.name' />\r
142                         <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />\r
143                     </execute>\r
144                     <switch test='`$tmp.schemaset.name`'>\r
145                         <outcome value='ran-network'>\r
146                             <block atomic='true'>\r
147                                 <set>\r
148                                     <parameter name='tmp.RIC.length' value="`$tmp.RIC.length+1`"/>\r
149                                 </set>\r
150                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
151                                     <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
152                                     <parameter name="level" value="info" />\r
153                                     <parameter name="field1" value="Applicable RIC length"/>\r
154                                     <parameter name="field2" value="`$tmp.RIC.length`"/>\r
155                                 </record>\r
156                             </block>\r
157                         </outcome>\r
158                     </switch>\r
159                 </block>\r
160             </for>\r
161             <for index='anc' start='0' end='`$tmp.anchors.length`'>\r
162                 <block atomic='true'>\r
163                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
164                         <parameter name='outputPath' value='tmp.schemaset.name' />\r
165                         <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />\r
166                     </execute>\r
167                     <switch test='`$tmp.schemaset.name`'>\r
168                         <outcome value='ran-network'>\r
169                             <block atomic='true'>\r
170                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
171                                     <parameter name='outputPath' value='tmp.anchor.name' />\r
172                                     <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].name'`" />\r
173                                 </execute>\r
174                                 <block atomic='true'>\r
175                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
176                                         <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>\r
177                                         <parameter name="outputPath" value="tmp.cps.getNearRTRICByNSSI.url"/>\r
178                                         <parameter name="target" value="{schemaSet}"/>\r
179                                         <parameter name="replacement" value="`$tmp.anchor.name`"/>\r
180                                     </execute>\r
181                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
182                                         <parameter name="source" value="`$tmp.cps.getNearRTRICByNSSI.url`"/>\r
183                                         <parameter name="outputPath" value="tmp.cps.getNearRTRICByNSSI.url"/>\r
184                                         <parameter name="target" value="{templateId}"/>\r
185                                         <parameter name="replacement" value="`$prop.tbdmt.template.get-nearrtric-by-rannfnssi`"/>\r
186                                     </execute>\r
187                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
188                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
189                                         <parameter name="level" value="info" />\r
190                                         <parameter name="field1" value="URL for CPS TDBMT to Get NearRTRIC for RANNFNSSI"/>\r
191                                         <parameter name='field2' value="`$tmp.cps.getNearRTRICByNSSI.url`" />\r
192                                     </record>\r
193                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
194                                         <parameter name="restapiUrl" value="`$tmp.cps.getNearRTRICByNSSI.url`"/>\r
195                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-nearrtric-by-rannfnssi.json'`" />\r
196                                         <parameter name="httpMethod" value="POST"/>\r
197                                         <parameter name="responsePrefix" value="getNFNSSIRIC-cps-response"/>\r
198                                         <parameter name='contentType' value='application/json' />\r
199                                         <parameter name='format' value='json' />\r
200                                         <parameter name='accept' value='application/json' />\r
201                                         <parameter name="convertResponse" value="true"/>\r
202                                         <outcome value='failure'>\r
203                                             <block>\r
204                                                 <set>\r
205                                                     <parameter name='error-code' value='500'/>\r
206                                                     <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>\r
207                                                 </set>\r
208                                                 <block atomic='true'>\r
209                                                     <set>\r
210                                                         <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>\r
211                                                         <parameter name="tmp.status" value="`$error-code`"/>\r
212                                                         <parameter name="tmp.reason" value="`$error-message`"/>\r
213                                                         <parameter name="tmp.requestID" value="`$activate-r-a-n-slice-instance-input.common-header.request-id`"/>\r
214                                                         <parameter name="tmp.action" value="`$activate-r-a-n-slice-instance-input.action`"/>\r
215                                                     </set>\r
216                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
217                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />\r
218                                                         <parameter name="level" value="info" />\r
219                                                         <parameter name="field1" value="URL for SO Callback Response"/>\r
220                                                         <parameter name='field2' value="`$tmp.so.callbackURL`" />\r
221                                                         <parameter name='field3' value="`$tmp.status`" />\r
222                                                         <parameter name='field4' value="`$tmp.reason`" />\r
223                                                         <parameter name='field5' value="`$tmp.requestID`" />\r
224                                                         <parameter name='field6' value="`$tmp.action`" />\r
225                                                     </record>\r
226                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
227                                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />\r
228                                                         <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>\r
229                                                         <parameter name="httpMethod" value="POST"/>\r
230                                                         <parameter name="responsePrefix" value="so-callback-activate-response"/>\r
231                                                         <parameter name='contentType' value='application/json' />\r
232                                                         <parameter name='format' value='json' />\r
233                                                         <parameter name='accept' value='*/*' />\r
234                                                         <parameter name="convertResponse" value="true"/>\r
235                                                         <outcome value='failure'>\r
236                                                             <block>\r
237                                                                 <return status='failure'>\r
238                                                                     <parameter name='ack-final' value='Y'/>\r
239                                                                     <parameter name="error-code" value="500" />\r
240                                                                     <parameter name="error-message" value="Error sending SO Response" />\r
241                                                                 </return>\r
242                                                             </block>\r
243                                                         </outcome>\r
244                                                         <outcome value='success'>\r
245                                                             <block>\r
246                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
247                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
248                                                                     <parameter name="level" value="info" />\r
249                                                                     <parameter name="field1" value="SO Response Sent "/>\r
250                                                                 </record>\r
251                                                             </block>\r
252                                                         </outcome>\r
253                                                     </execute>\r
254                                                 </block>\r
255                                             </block>\r
256                                         </outcome>\r
257                                         <outcome value='success'>\r
258                                             <block atomic='true'>\r
259                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
260                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
261                                                     <parameter name="level" value="info" />\r
262                                                     <parameter name="field1" value="Successfully Obtained NearRTRIC info from CPS"/>\r
263                                                     <parameter name="field2" value="`$getNFNSSIRIC-cps-response._length`"/>\r
264                                                 </record>\r
265                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
266                                                     <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-activateRANSlice-context.log' />\r
267                                                 </execute>\r
268                                             </block>\r
269                                         </outcome>\r
270                                     </execute>\r
271                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
272                                         <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>\r
273                                         <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/>\r
274                                         <parameter name="target" value="{schemaSet}"/>\r
275                                         <parameter name="replacement" value="`$tmp.schemaset.name`"/>\r
276                                     </execute>\r
277                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
278                                         <parameter name="source" value="`$tmp.cps.getPLMNID.url`"/>\r
279                                         <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/>\r
280                                         <parameter name="target" value="{templateId}"/>\r
281                                         <parameter name="replacement" value="`$prop.tbdmt.template.getmcc`"/>\r
282                                     </execute>\r
283                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
284                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
285                                         <parameter name="level" value="info" />\r
286                                         <parameter name="field1" value="URL for CPS TDBMT to Get plmnid from sliceprofile"/>\r
287                                         <parameter name='field2' value="`$tmp.cps.getPLMNID.url`" />\r
288                                     </record>\r
289                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
290                                         <parameter name="restapiUrl" value="`$tmp.cps.getPLMNID.url`"/>\r
291                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-plmnid.json'`" />\r
292                                         <parameter name="httpMethod" value="POST"/>\r
293                                         <parameter name="responsePrefix" value="getplmnmccid-cps-response"/>\r
294                                         <parameter name='contentType' value='application/json' />\r
295                                         <parameter name='format' value='json' />\r
296                                         <parameter name='accept' value='application/json' />\r
297                                         <parameter name="convertResponse" value="true"/>\r
298                                         <outcome value='failure'>\r
299                                             <block>\r
300                                                 <set>\r
301                                                     <parameter name='error-code' value='500'/>\r
302                                                     <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>\r
303                                                 </set>\r
304                                             </block>\r
305                                         </outcome>\r
306                                         <outcome value='success'>\r
307                                             <block atomic='true'>\r
308                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
309                                                     <parameter name='outputPath' value='tmp.plmn.mcc' />\r
310                                                     <parameter name='source' value="`'getplmnmccid-cps-response.[0]'`" />\r
311                                                 </execute>\r
312                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
313                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
314                                                     <parameter name="level" value="info" />\r
315                                                     <parameter name="field1" value="Successfully Obtained MCC info from CPS"/>\r
316                                                     <parameter name="field2" value="`$getplmnmccid-cps-response.httpResponse`"/>\r
317                                                 </record>\r
318                                             </block>\r
319                                         </outcome>\r
320                                     </execute>\r
321                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
322                                         <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>\r
323                                         <parameter name="outputPath" value="tmp.cps.getPLMNMNCID.url"/>\r
324                                         <parameter name="target" value="{schemaSet}"/>\r
325                                         <parameter name="replacement" value="`$tmp.schemaset.name`"/>\r
326                                     </execute>\r
327                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
328                                         <parameter name="source" value="`$tmp.cps.getPLMNMNCID.url`"/>\r
329                                         <parameter name="outputPath" value="tmp.cps.getPLMNMNCID.url"/>\r
330                                         <parameter name="target" value="{templateId}"/>\r
331                                         <parameter name="replacement" value="`$prop.tbdmt.template.get-plmnmncid-from-sliceprofile`"/>\r
332                                     </execute>\r
333                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
334                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
335                                         <parameter name="level" value="info" />\r
336                                         <parameter name="field1" value="URL for CPS TDBMT to Get plmnid from sliceprofile"/>\r
337                                         <parameter name='field2' value="`$tmp.cps.getPLMNMNCID.url`" />\r
338                                     </record>\r
339                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
340                                         <parameter name="restapiUrl" value="`$tmp.cps.getPLMNMNCID.url`"/>\r
341                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-plmnid.json'`" />\r
342                                         <parameter name="httpMethod" value="POST"/>\r
343                                         <parameter name="responsePrefix" value="getplmnmncid-cps-response"/>\r
344                                         <parameter name='contentType' value='application/json' />\r
345                                         <parameter name='format' value='json' />\r
346                                         <parameter name='accept' value='application/json' />\r
347                                         <parameter name="convertResponse" value="true"/>\r
348                                         <outcome value='failure'>\r
349                                             <block>\r
350                                                 <set>\r
351                                                     <parameter name='error-code' value='500'/>\r
352                                                     <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>\r
353                                                 </set>\r
354                                             </block>\r
355                                         </outcome>\r
356                                         <outcome value='success'>\r
357                                             <block atomic='true'>\r
358                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
359                                                     <parameter name='outputPath' value='tmp.plmn.mnc' />\r
360                                                     <parameter name='source' value="`'getplmnmncid-cps-response.[0]'`" />\r
361                                                 </execute>\r
362                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
363                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
364                                                     <parameter name="level" value="info" />\r
365                                                     <parameter name="field1" value="Successfully Obtained MNC info from Cps"/>\r
366                                                     <parameter name="field2" value="`$getplmnmncid-cps-response.httpResponse`"/>\r
367                                                 </record>\r
368                                             </block>\r
369                                         </outcome>\r
370                                     </execute>\r
371                                     <set>\r
372                                         <parameter name='tmp.mcc' value='`$tmp.plmn.mcc`'/>\r
373                                         <parameter name='tmp.mnc' value='`$tmp.plmn.mnc`'/>\r
374                                     </set>\r
375                                     <set>\r
376                                         <parameter name='tmp.RICList_length' value="`$getNFNSSIRIC-cps-response._length`"/>\r
377                                     </set>\r
378                                 </block>\r
379                             </block>\r
380                         </outcome>\r
381                     </switch>\r
382                 </block>\r
383             </for>\r
384             <return status='success'>\r
385                 <parameter name="ack-final" value="Y" />\r
386                 <parameter name="error-code" value="200" />\r
387                 <parameter name="error-message" value="SUCCESSFUL Execution" />\r
388             </return>\r
389             <for index='idy' start='0' end='`$tmp.RICList_length`' >\r
390                 <block atomic='true'>\r
391                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
392                         <parameter name='outputPath' value='tmp.nearRTRICId' />\r
393                         <parameter name='source' value="`'getNFNSSIRIC-cps-response.[' + $idy +'].idNearRTRIC'`" />\r
394                     </execute>\r
395                 </block>\r
396                 <block atomic='true'>\r
397                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
398                         <parameter name='outputPath' value='tmp.CUCPList_length' />\r
399                         <parameter name='source' value="`'getNFNSSIRIC-cps-response.[' + $idy +'].GNBCUCPFunction_length'`" />\r
400                     </execute>\r
401                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
402                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
403                         <parameter name="level" value="info" />\r
404                         <parameter name="field1" value="Number of CUCP List Entries "/>\r
405                         <parameter name="field2" value="`$tmp.CUCPList_length`"/>\r
406                         <parameter name="field3" value="for the NearRTRIC"/>\r
407                         <parameter name="field4" value="`$tmp.nearRTRICId`"/>\r
408                     </record>\r
409                     <for index='idz' start='0' end='`$tmp.CUCPList_length`'>\r
410                         <block atomic='true'>\r
411                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
412                                 <parameter name='outputPath' value='tmp.CUCPName' />\r
413                                 <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUCPFunction['+ $idz +'].attributes.gNBCUName'`" />\r
414                             </execute>\r
415                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
416                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
417                                 <parameter name="level" value="info" />\r
418                                 <parameter name="field1" value="CUCPName "/>\r
419                                 <parameter name="field2" value="`$tmp.CUCPName`"/>\r
420                             </record>\r
421                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
422                                 <parameter name='outputPath' value='tmp.cellCUList_length' />\r
423                                 <parameter name='source' value="`'getNFNSSIRIC-cps-response.[' + $idy +'].GNBCUCPFunction[' + $idz +'].NRCellCU_length'`" />\r
424                             </execute>\r
425                             <for index='idcu' start='0' end='`$tmp.cellCUList_length`' >\r
426                                 <block atomic='true'>\r
427                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
428                                         <parameter name='outputPath' value='tmp.pLMNInfoList_length' />\r
429                                         <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUCPFunction['+ $idz +'].NRCellCU['+ $idcu +'].attributes.pLMNInfoList_length'`" />\r
430                                     </execute>\r
431                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
432                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
433                                         <parameter name="level" value="info" />\r
434                                         <parameter name="field1" value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUCPFunction['+ $idz +'].NRCellCU['+ $idcu +'].attributes.pLMNInfoList_length'`"/>\r
435                                         <parameter name="field2" value="`$tmp.pLMNInfoList_length`"/>\r
436                                     </record>\r
437                                     <switch test='`$tmp.pLMNInfoList_length > 0`'>\r
438                                         <outcome value='true'>\r
439                                             <block atomic='true'>\r
440                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
441                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
442                                                     <parameter name="level" value="info" />\r
443                                                     <parameter name="field1" value="CUCP plmninfolistLength in true "/>\r
444                                                     <parameter name="field2" value="`$tmp.pLMNInfoList_length`"/>\r
445                                                 </record>\r
446                                                 <for index='id-cuplmn' start='0' end='`$tmp.pLMNInfoList_length`' >\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.sNssaiListLengthCU' />\r
450                                                             <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUCPFunction['+ $idz +'].NRCellCU['+ $idcu +'].attributes.pLMNInfoList['+ $id-cuplmn +'].sNSSAIList_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="CUCP_plmninfolength_nssailength "/>\r
456                                                             <parameter name="field2" value="`$tmp.sNssaiListLengthCU`"/>\r
457                                                         </record>\r
458                                                         <switch test='`$tmp.sNssaiListLengthCU > 0`'>\r
459                                                             <outcome value='true'>\r
460                                                                 <block atomic='true'>\r
461                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
462                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
463                                                                         <parameter name="level" value="info" />\r
464                                                                         <parameter name="field1" value="plmninfolistnssailength in true in CU "/>\r
465                                                                         <parameter name="field2" value="`$tmp.sNssaiListLengthCU`"/>\r
466                                                                     </record>\r
467                                                                     <for index='id-cusnssai' start='0' end='`$tmp.sNssaiListLengthCU`'>\r
468                                                                         <block atomic='true'>\r
469                                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
470                                                                                 <parameter name='outputPath' value='tmp.cpsSNSSAI' />\r
471                                                                                 <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUCPFunction['+ $idz +'].NRCellCU['+ $idcu +'].attributes.pLMNInfoList['+ $id-cuplmn +'].sNSSAIList['+ $id-cusnssai +'].sNssai'`" />\r
472                                                                             </execute>\r
473                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
474                                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
475                                                                                 <parameter name="level" value="info" />\r
476                                                                                 <parameter name="field1" value="sNSSAI - getNFNSSIRIC-cps-response"/>\r
477                                                                                 <parameter name="field2" value="`$tmp.cpsSNSSAI`"/>\r
478                                                                                 <parameter name="field3" value="sNSSAI from request"/>\r
479                                                                                 <parameter name="field4" value="`$tmp.sNSSAI`"/>\r
480                                                                             </record>\r
481                                                                             <switch test='`$tmp.cpsSNSSAI == $tmp.sNSSAI`'>\r
482                                                                                 <outcome value='true'>\r
483                                                                                     <block atomic='true'>\r
484                                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
485                                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
486                                                                                             <parameter name="level" value="info" />\r
487                                                                                             <parameter name="field1" value="CellCU is applicable for the NSSAI "/>\r
488                                                                                         </record>\r
489                                                                                         <switch test='`$prop.ransim-mounted`'>\r
490                                                                                             <outcome value='false'>\r
491                                                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
492                                                                                                     <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellCU`"/>\r
493                                                                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>\r
494                                                                                                     <parameter name="target" value="{idNearRTRIC}"/>\r
495                                                                                                     <parameter name="replacement" value="`$tmp.nearRTRICId`"/>\r
496                                                                                                 </execute>\r
497                                                                                             </outcome>\r
498                                                                                             <outcome value='true'>\r
499                                                                                                 <block atomic='true'>\r
500                                                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
501                                                                                                         <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellCU.ransim-mounted`"/>\r
502                                                                                                         <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>\r
503                                                                                                         <parameter name="target" value="{idNearRTRIC}"/>\r
504                                                                                                         <parameter name="replacement" value="`$tmp.nearRTRICId`"/>\r
505                                                                                                     </execute>\r
506                                                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
507                                                                                                         <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/>\r
508                                                                                                         <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>\r
509                                                                                                         <parameter name="target" value="{mountName}"/>\r
510                                                                                                         <parameter name="replacement" value="`$tmp.CUCPName`"/>\r
511                                                                                                     </execute>\r
512                                                                                                 </block>\r
513                                                                                             </outcome>\r
514                                                                                         </switch>\r
515                                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
516                                                                                             <parameter name='outputPath' value='tmp.NRCellCUID' />\r
517                                                                                             <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUCPFunction['+ $idz +'].NRCellCU['+ $idcu +'].idNRCellCU'`" />\r
518                                                                                         </execute>\r
519                                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
520                                                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/>\r
521                                                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>\r
522                                                                                             <parameter name="target" value="{idGNBCUCPFunction}"/>\r
523                                                                                             <parameter name="replacement" value="`$tmp.CUCPName`"/>\r
524                                                                                         </execute>\r
525                                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
526                                                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/>\r
527                                                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>\r
528                                                                                             <parameter name="target" value="{idNRCellCU}"/>\r
529                                                                                             <parameter name="replacement" value="`$tmp.NRCellCUID`"/>\r
530                                                                                         </execute>\r
531                                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
532                                                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/>\r
533                                                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>\r
534                                                                                             <parameter name="target" value="{mcc}"/>\r
535                                                                                             <parameter name="replacement" value="`$tmp.mcc`"/>\r
536                                                                                         </execute>\r
537                                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
538                                                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/>\r
539                                                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/>\r
540                                                                                             <parameter name="target" value="{mnc}"/>\r
541                                                                                             <parameter name="replacement" value="`$tmp.mnc`"/>\r
542                                                                                         </execute>\r
543                                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
544                                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
545                                                                                             <parameter name="level" value="info" />\r
546                                                                                             <parameter name="field1" value="patch cellCU NSSAI parameters"/>\r
547                                                                                             <parameter name="field2" value="`$tmp.nearRTRICId`"/>\r
548                                                                                             <parameter name="field3" value="`$tmp.CUCPName`"/>\r
549                                                                                             <parameter name="field4" value="`$tmp.NRCellCUID`"/>\r
550                                                                                             <parameter name="field5" value="`$tmp.mcc`"/>\r
551                                                                                             <parameter name="field6" value="`$tmp.mnc`"/>\r
552                                                                                             <parameter name="field7" value="`$tmp.patchPLMNInfoListEntry.url`"/>\r
553                                                                                         </record>\r
554                                                                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
555                                                                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-status.json'`" />\r
556                                                                                             <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoListEntry.url`"/>\r
557                                                                                             <parameter name="restapiUser" value="`$prop.controller.user`" />\r
558                                                                                             <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>\r
559                                                                                             <parameter name="httpMethod" value="PATCH"/>\r
560                                                                                             <parameter name="responsePrefix" value="activate-cellCU-PLMNInfoList-response"/>\r
561                                                                                             <parameter name='contentType' value='application/yang.patch+json' />\r
562                                                                                             <parameter name='accept' value='application/yang.patch-status+json'/>\r
563                                                                                             <parameter name='format' value='json' />\r
564                                                                                             <outcome value='failure'>\r
565                                                                                                 <block atomic='true'>\r
566                                                                                                     <set>\r
567                                                                                                         <parameter name='error-code' value='500'/>\r
568                                                                                                         <parameter name='error-message' value='Error patching cellCU PLMNInfoList. Aborting RPC executiopn'/>\r
569                                                                                                     </set>\r
570                                                                                                     <return status='failure'>\r
571                                                                                                         <parameter name='ack-final' value='Y'/>\r
572                                                                                                         <parameter name='error-code' value='500'/>\r
573                                                                                                         <parameter name='error-message' value='Error updating NRcellCU - PLMNInfo. Aborting RPC executiopn'/>\r
574                                                                                                     </return>\r
575                                                                                                     <block atomic='true'>\r
576                                                                                                         <set>\r
577                                                                                                             <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>\r
578                                                                                                             <parameter name="tmp.status" value="`$error-code`"/>\r
579                                                                                                             <parameter name="tmp.reason" value="`$error-message`"/>\r
580                                                                                                             <parameter name="tmp.requestID" value="`$activate-r-a-n-slice-instance-input.common-header.request-id`"/>\r
581                                                                                                             <parameter name="tmp.action" value="`$activate-r-a-n-slice-instance-input.action`"/>\r
582                                                                                                         </set>\r
583                                                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
584                                                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />\r
585                                                                                                             <parameter name="level" value="info" />\r
586                                                                                                             <parameter name="field1" value="URL for SO Callback Response"/>\r
587                                                                                                             <parameter name='field2' value="`$tmp.so.callbackURL`" />\r
588                                                                                                             <parameter name='field3' value="`$tmp.status`" />\r
589                                                                                                             <parameter name='field4' value="`$tmp.reason`" />\r
590                                                                                                             <parameter name='field5' value="`$tmp.requestID`" />\r
591                                                                                                             <parameter name='field6' value="`$tmp.action`" />\r
592                                                                                                         </record>\r
593                                                                                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
594                                                                                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />\r
595                                                                                                             <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>\r
596                                                                                                             <parameter name="httpMethod" value="POST"/>\r
597                                                                                                             <parameter name="responsePrefix" value="so-callback-activate-response"/>\r
598                                                                                                             <parameter name='contentType' value='application/json' />\r
599                                                                                                             <parameter name='format' value='json' />\r
600                                                                                                             <parameter name='accept' value='*/*' />\r
601                                                                                                             <parameter name="convertResponse" value="true"/>\r
602                                                                                                             <outcome value='failure'>\r
603                                                                                                                 <block>\r
604                                                                                                                     <return status='failure'>\r
605                                                                                                                         <parameter name='ack-final' value='Y'/>\r
606                                                                                                                         <parameter name="error-code" value="500" />\r
607                                                                                                                         <parameter name="error-message" value="Error sending SO Response" />\r
608                                                                                                                     </return>\r
609                                                                                                                 </block>\r
610                                                                                                             </outcome>\r
611                                                                                                             <outcome value='success'>\r
612                                                                                                                 <block>\r
613                                                                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
614                                                                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
615                                                                                                                         <parameter name="level" value="info" />\r
616                                                                                                                         <parameter name="field1" value="SO Response Sent "/>\r
617                                                                                                                     </record>\r
618                                                                                                                 </block>\r
619                                                                                                             </outcome>\r
620                                                                                                         </execute>\r
621                                                                                                     </block>\r
622                                                                                                 </block>\r
623                                                                                             </outcome>\r
624                                                                                             <outcome value='success'>\r
625                                                                                                 <block atomic='true'>\r
626                                                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
627                                                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
628                                                                                                         <parameter name="level" value="info" />\r
629                                                                                                         <parameter name="field1" value="Successfully Patched - cellCU PLMNInfo List"/>\r
630                                                                                                     </record>\r
631                                                                                                 </block>\r
632                                                                                             </outcome>\r
633                                                                                         </execute>\r
634                                                                                     </block>\r
635                                                                                 </outcome>\r
636                                                                             </switch>\r
637                                                                         </block>\r
638                                                                     </for>\r
639                                                                 </block>\r
640                                                             </outcome>\r
641                                                             <outcome value='false'>\r
642                                                                 <block atomic='true'>\r
643                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
644                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
645                                                                         <parameter name="level" value="info" />\r
646                                                                         <parameter name="field1" value="plmninfolistnssailength in false in CU "/>\r
647                                                                         <parameter name="field2" value="`$tmp.sNssaiListLengthCU`"/>\r
648                                                                     </record>\r
649                                                                 </block>\r
650                                                             </outcome>\r
651                                                         </switch>\r
652                                                     </block>\r
653                                                 </for>\r
654                                             </block>\r
655                                         </outcome>\r
656                                         <outcome value='false'>\r
657                                             <block atomic='true'>\r
658                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
659                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
660                                                     <parameter name="level" value="info" />\r
661                                                     <parameter name="field1" value="CUCP plmninfolistlength in false "/>\r
662                                                     <parameter name="field2" value="`$tmp.pLMNInfoList_length`"/>\r
663                                                 </record>\r
664                                             </block>\r
665                                         </outcome>\r
666                                     </switch>\r
667                                 </block>\r
668                             </for>\r
669                         </block>\r
670                     </for>\r
671                 </block>\r
672                 <block atomic='true'>\r
673                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
674                         <parameter name='outputPath' value='tmp.CUUPList_length' />\r
675                         <parameter name='source' value="`'getNFNSSIRIC-cps-response.[' + $idy +'].GNBCUUPFunction_length'`" />\r
676                     </execute>\r
677                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
678                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
679                         <parameter name="level" value="info" />\r
680                         <parameter name="field1" value="Number of CUUP List Entries "/>\r
681                         <parameter name="field2" value="`$tmp.CUUPList_length`"/>\r
682                         <parameter name="field3" value="for the NearRTRIC"/>\r
683                         <parameter name="field4" value="`$tmp.nearRTRICId`"/>\r
684                     </record>\r
685                     <for index='id-cuup' start='0' end='`$tmp.CUUPList_length`'>\r
686                         <block atomic='true'>\r
687                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
688                                 <parameter name='outputPath' value='tmp.idGNBCUUPFunction' />\r
689                                 <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUUPFunction['+ $id-cuup +'].idGNBCUUPFunction'`" />\r
690                             </execute>\r
691                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
692                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
693                                 <parameter name="level" value="info" />\r
694                                 <parameter name="field1" value="idGNBCUUPFunction "/>\r
695                                 <parameter name="field2" value="`$tmp.idGNBCUUPFunction`"/>\r
696                             </record>\r
697                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
698                                 <parameter name='outputPath' value='tmp.pLMNInfoList' />\r
699                                 <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUUPFunction['+ $id-cuup +'].attributes.pLMNInfoList_length'`" />\r
700                             </execute>\r
701                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
702                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
703                                 <parameter name="level" value="info" />\r
704                                 <parameter name="field1" value="CUUP plmninfolength "/>\r
705                                 <parameter name="field2" value="`$tmp.pLMNInfoList`"/>\r
706                             </record>\r
707                             <switch test='`$tmp.pLMNInfoList > 0`'>\r
708                                 <outcome value='true'>\r
709                                     <block atomic='true'>\r
710                                         <for index='id-plmn' start='0' end='`$tmp.pLMNInfoList`'>\r
711                                             <block atomic='true'>\r
712                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
713                                                     <parameter name='outputPath' value='tmp.snssaiListup_length' />\r
714                                                     <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUUPFunction['+ $id-cuup +'].attributes.pLMNInfoList['+ $id-plmn +'].sNSSAIList_length'`" />\r
715                                                 </execute>\r
716                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
717                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
718                                                     <parameter name="level" value="info" />\r
719                                                     <parameter name="field1" value="CUUP - snssaiList_length"/>\r
720                                                     <parameter name="field2" value="`$tmp.snssaiListup_length`"/>\r
721                                                 </record>\r
722                                                 <switch test='`$tmp.snssaiListup_length > 0`'>\r
723                                                     <outcome value='false'>\r
724                                                         <block atomic='true'>\r
725                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
726                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
727                                                                 <parameter name="level" value="info" />\r
728                                                                 <parameter name="field1" value="plmninfolistnssailength in false "/>\r
729                                                                 <parameter name="field2" value="`$tmp.snssaiListup_length`"/>\r
730                                                             </record>\r
731                                                         </block>\r
732                                                     </outcome>\r
733                                                     <outcome value='true'>\r
734                                                         <block atomic='true'>\r
735                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
736                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
737                                                                 <parameter name="level" value="info" />\r
738                                                                 <parameter name="field1" value="plmninfolistnssailength in true "/>\r
739                                                                 <parameter name="field2" value="`$tmp.snssaiListup_length`"/>\r
740                                                             </record>\r
741                                                             <for index='id-cuupnssai' start='0' end='`$tmp.snssaiListup_length`' >\r
742                                                                 <block atomic='true'>\r
743                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
744                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
745                                                                         <parameter name="level" value="info" />\r
746                                                                         <parameter name="field1" value="sNSSAI - getNFNSSIRIC-cps-response"/>\r
747                                                                         <parameter name="field2" value="`$tmp.cpsSNSSAI`"/>\r
748                                                                         <parameter name="field3" value="sNSSAI from request"/>\r
749                                                                         <parameter name="field4" value="`$tmp.sNSSAI`"/>\r
750                                                                     </record>\r
751                                                                     <switch test='`$tmp.cpsSNSSAI == $tmp.sNSSAI`'>\r
752                                                                         <outcome value='false'>\r
753                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
754                                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
755                                                                                 <parameter name="level" value="info" />\r
756                                                                                 <parameter name="field1" value="sNSSAI doesn't match"/>\r
757                                                                             </record>\r
758                                                                         </outcome>\r
759                                                                         <outcome value='true'>\r
760                                                                             <block atomic='true'>\r
761                                                                                 <switch test='`$prop.ransim-mounted`'>\r
762                                                                                     <outcome value='false'>\r
763                                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
764                                                                                             <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToGNBCUUP`"/>\r
765                                                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>\r
766                                                                                             <parameter name="target" value="{idNearRTRIC}"/>\r
767                                                                                             <parameter name="replacement" value="`$tmp.nearRTRICId`"/>\r
768                                                                                         </execute>\r
769                                                                                     </outcome>\r
770                                                                                     <outcome value='true'>\r
771                                                                                         <block atomic='true'>\r
772                                                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
773                                                                                                 <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToGNBCUUP.ransim-mounted`"/>\r
774                                                                                                 <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>\r
775                                                                                                 <parameter name="target" value="{idNearRTRIC}"/>\r
776                                                                                                 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>\r
777                                                                                             </execute>\r
778                                                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
779                                                                                                 <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/>\r
780                                                                                                 <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>\r
781                                                                                                 <parameter name="target" value="{mountName}"/>\r
782                                                                                                 <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/>\r
783                                                                                             </execute>\r
784                                                                                         </block>\r
785                                                                                     </outcome>\r
786                                                                                 </switch>\r
787                                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
788                                                                                     <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/>\r
789                                                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>\r
790                                                                                     <parameter name="target" value="{idNearRTRIC}"/>\r
791                                                                                     <parameter name="replacement" value="`$tmp.nearRTRICId`"/>\r
792                                                                                 </execute>\r
793                                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
794                                                                                     <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/>\r
795                                                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>\r
796                                                                                     <parameter name="target" value="{idGNBCUUPFunction}"/>\r
797                                                                                     <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/>\r
798                                                                                 </execute>\r
799                                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
800                                                                                     <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/>\r
801                                                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>\r
802                                                                                     <parameter name="target" value="{mcc}"/>\r
803                                                                                     <parameter name="replacement" value="`$tmp.mcc`"/>\r
804                                                                                 </execute>\r
805                                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
806                                                                                     <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/>\r
807                                                                                     <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/>\r
808                                                                                     <parameter name="target" value="{mnc}"/>\r
809                                                                                     <parameter name="replacement" value="`$tmp.mnc`"/>\r
810                                                                                 </execute>\r
811                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
812                                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
813                                                                                     <parameter name="level" value="info" />\r
814                                                                                     <parameter name="field1" value="patch cellCUUP NSSAI parameters"/>\r
815                                                                                     <parameter name="field2" value="`$tmp.nearRTRICId`"/>\r
816                                                                                     <parameter name="field3" value="`$tmp.idGNBCUUPFunction`"/>\r
817                                                                                     <parameter name="field4" value="`$tmp.mcc`"/>\r
818                                                                                     <parameter name="field5" value="`$tmp.mnc`"/>\r
819                                                                                     <parameter name="field6" value="`$tmp.patchPLMNInfoList-CUUP.url`"/>\r
820                                                                                 </record>\r
821                                                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
822                                                                                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-status.json'`" />\r
823                                                                                     <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoList-CUUP.url`"/>\r
824                                                                                     <parameter name="restapiUser" value="`$prop.controller.user`" />\r
825                                                                                     <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>\r
826                                                                                     <parameter name="httpMethod" value="PATCH"/>\r
827                                                                                     <parameter name="responsePrefix" value="activate-gNBCUUP-PLMNInfoList-response"/>\r
828                                                                                     <parameter name='contentType' value='application/yang.patch+json' />\r
829                                                                                     <parameter name='accept' value='application/yang.patch-status+json'/>\r
830                                                                                     <parameter name='format' value='json' />\r
831                                                                                     <outcome value='failure'>\r
832                                                                                         <block atomic='true'>\r
833                                                                                             <return status='failure'>\r
834                                                                                                 <parameter name='ack-final' value='Y'/>\r
835                                                                                                 <parameter name='error-code' value='500'/>\r
836                                                                                                 <parameter name='error-message' value='Error patching CUUP PLMNInfo. Aborting RPC executiopn'/>\r
837                                                                                             </return>\r
838                                                                                             <set>\r
839                                                                                                 <parameter name='error-code' value='500'/>\r
840                                                                                                 <parameter name='error-message' value='Error patching CUUP PLMNInfoList. Aborting RPC executiopn'/>\r
841                                                                                             </set>\r
842                                                                                             <block atomic='true'>\r
843                                                                                                 <set>\r
844                                                                                                     <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>\r
845                                                                                                     <parameter name="tmp.status" value="`$error-code`"/>\r
846                                                                                                     <parameter name="tmp.reason" value="`$error-message`"/>\r
847                                                                                                     <parameter name="tmp.requestID" value="`$activate-r-a-n-slice-instance-input.common-header.request-id`"/>\r
848                                                                                                     <parameter name="tmp.action" value="`$activate-r-a-n-slice-instance-input.action`"/>\r
849                                                                                                 </set>\r
850                                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
851                                                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />\r
852                                                                                                     <parameter name="level" value="info" />\r
853                                                                                                     <parameter name="field1" value="URL for SO Callback Response"/>\r
854                                                                                                     <parameter name='field2' value="`$tmp.so.callbackURL`" />\r
855                                                                                                     <parameter name='field3' value="`$tmp.status`" />\r
856                                                                                                     <parameter name='field4' value="`$tmp.reason`" />\r
857                                                                                                     <parameter name='field5' value="`$tmp.requestID`" />\r
858                                                                                                     <parameter name='field6' value="`$tmp.action`" />\r
859                                                                                                 </record>\r
860                                                                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
861                                                                                                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />\r
862                                                                                                     <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>\r
863                                                                                                     <parameter name="httpMethod" value="POST"/>\r
864                                                                                                     <parameter name="responsePrefix" value="so-callback-activate-response"/>\r
865                                                                                                     <parameter name='contentType' value='application/json' />\r
866                                                                                                     <parameter name='format' value='json' />\r
867                                                                                                     <parameter name='accept' value='*/*' />\r
868                                                                                                     <parameter name="convertResponse" value="true"/>\r
869                                                                                                     <outcome value='failure'>\r
870                                                                                                         <block>\r
871                                                                                                             <return status='failure'>\r
872                                                                                                                 <parameter name='ack-final' value='Y'/>\r
873                                                                                                                 <parameter name="error-code" value="500" />\r
874                                                                                                                 <parameter name="error-message" value="Error sending SO Response" />\r
875                                                                                                             </return>\r
876                                                                                                         </block>\r
877                                                                                                     </outcome>\r
878                                                                                                     <outcome value='success'>\r
879                                                                                                         <block>\r
880                                                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
881                                                                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
882                                                                                                                 <parameter name="level" value="info" />\r
883                                                                                                                 <parameter name="field1" value="SO Response Sent "/>\r
884                                                                                                             </record>\r
885                                                                                                         </block>\r
886                                                                                                     </outcome>\r
887                                                                                                 </execute>\r
888                                                                                             </block>\r
889                                                                                         </block>\r
890                                                                                     </outcome>\r
891                                                                                     <outcome value='success'>\r
892                                                                                         <block atomic='true'>\r
893                                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
894                                                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
895                                                                                                 <parameter name="level" value="info" />\r
896                                                                                                 <parameter name="field1" value="Successfully Patched - gNBCUUP PLMNInfo List"/>\r
897                                                                                             </record>\r
898                                                                                         </block>\r
899                                                                                     </outcome>\r
900                                                                                 </execute>\r
901                                                                             </block>\r
902                                                                         </outcome>\r
903                                                                     </switch>\r
904                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
905                                                                         <parameter name='outputPath' value='tmp.cpsSNSSAI1' />\r
906                                                                         <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUUPFunction['+ $id-cuup +'].attributes.pLMNInfoList['+ $id-plmn +'].sNSSAIList['+ $id-snssai +'].sNssai'`" />\r
907                                                                     </execute>\r
908                                                                 </block>\r
909                                                             </for>\r
910                                                         </block>\r
911                                                     </outcome>\r
912                                                 </switch>\r
913                                             </block>\r
914                                         </for>\r
915                                     </block>\r
916                                 </outcome>\r
917                                 <outcome value='false'>\r
918                                     <block atomic='true'>\r
919                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
920                                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
921                                             <parameter name="level" value="info" />\r
922                                             <parameter name="field1" value="CUUP plmninfolistlength in false "/>\r
923                                             <parameter name="field2" value="`$tmp.pLMNInfoList`"/>\r
924                                         </record>\r
925                                     </block>\r
926                                 </outcome>\r
927                             </switch>\r
928                         </block>\r
929                     </for>\r
930                 </block>\r
931                 <block atomic='true'>\r
932                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
933                         <parameter name='outputPath' value='tmp.DUList_length' />\r
934                         <parameter name='source' value="`'getNFNSSIRIC-cps-response.[' + $idy +'].GNBDUFunction_length'`" />\r
935                     </execute>\r
936                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
937                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
938                         <parameter name="level" value="info" />\r
939                         <parameter name="field1" value="Number of DU List Entries "/>\r
940                         <parameter name="field2" value="`$tmp.DUList_length`"/>\r
941                         <parameter name="field3" value="for the NearRTRIC"/>\r
942                         <parameter name="field4" value="`$tmp.nearRTRICId`"/>\r
943                     </record>\r
944                     <for index='id-du' start='0' end='`$tmp.DUList_length`'>\r
945                         <block atomic='true'>\r
946                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
947                                 <parameter name='outputPath' value='tmp.GNBDUId' />\r
948                                 <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBDUFunction['+ $id-du +'].idGNBDUFunction'`" />\r
949                             </execute>\r
950                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
951                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
952                                 <parameter name="level" value="info" />\r
953                                 <parameter name="field1" value="GNBDUId "/>\r
954                                 <parameter name="field2" value="`$tmp.GNBDUId`"/>\r
955                             </record>\r
956                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
957                                 <parameter name='outputPath' value='tmp.cellDUList_length' />\r
958                                 <parameter name='source' value="`'getNFNSSIRIC-cps-response.[' + $idy +'].GNBDUFunction[' + $id-du +'].NRCellDU_length'`" />\r
959                             </execute>\r
960                             <for index='id-celldu' start='0' end='`$tmp.cellDUList_length`' >\r
961                                 <block atomic='true'>\r
962                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
963                                         <parameter name='outputPath' value='tmp.DUpLMNInfoList_length' />\r
964                                         <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBDUFunction['+ $id-du +'].NRCellDU['+ $id-celldu +'].attributes.pLMNInfoList_length'`" />\r
965                                     </execute>\r
966                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
967                                         <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
968                                         <parameter name="level" value="info" />\r
969                                         <parameter name="field1" value="plmninfolengthcelldu "/>\r
970                                         <parameter name="field2" value="`$tmp.DUpLMNInfoList_length`"/>\r
971                                     </record>\r
972                                     <switch test='`$tmp.DUpLMNInfoList_length > 0`'>\r
973                                         <outcome value='true'>\r
974                                             <block atomic='true'>\r
975                                                 <for index='id-duplmn' start='0' end='`$tmp.DUpLMNInfoList_length`' >\r
976                                                     <block atomic='true'>\r
977                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
978                                                             <parameter name='outputPath' value='tmp.sNssaiListLengthDU' />\r
979                                                             <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBDUFunction['+ $id-du +'].NRCellDU['+ $id-celldu +'].attributes.pLMNInfoList['+ $id-duplmn +'].sNSSAIList_length'`" />\r
980                                                         </execute>\r
981                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
982                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
983                                                             <parameter name="level" value="info" />\r
984                                                             <parameter name="field1" value="DU_plmninfolength_nssailength "/>\r
985                                                             <parameter name="field2" value="`$tmp.sNssaiListLengthDU`"/>\r
986                                                         </record>\r
987                                                         <for index='id-dusnssai' start='0' end='`$tmp.sNssaiListLengthDU`'>\r
988                                                             <block atomic='true'>\r
989                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
990                                                                     <parameter name='outputPath' value='tmp.cpsSNSSAI-DU' />\r
991                                                                     <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBDUFunction['+ $id-du +'].NRCellDU['+ $id-celldu +'].attributes.pLMNInfoList['+ $id-duplmn +'].sNSSAIList['+ $id-dusnssai +'].sNssai'`" />\r
992                                                                 </execute>\r
993                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
994                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
995                                                                     <parameter name="level" value="info" />\r
996                                                                     <parameter name="field1" value="sNSSAI - getNFNSSIRIC-cps-response"/>\r
997                                                                     <parameter name="field2" value="`$tmp.cpsSNSSAI-DU`"/>\r
998                                                                     <parameter name="field3" value="sNSSAI from request"/>\r
999                                                                     <parameter name="field4" value="`$tmp.sNSSAI`"/>\r
1000                                                                 </record>\r
1001                                                                 <switch test='`$tmp.cpsSNSSAI-DU == $tmp.sNSSAI`'>\r
1002                                                                     <outcome value='true'>\r
1003                                                                         <block atomic='true'>\r
1004                                                                             <switch test='`$prop.ransim-mounted`'>\r
1005                                                                                 <outcome value='false'>\r
1006                                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
1007                                                                                         <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellDU`"/>\r
1008                                                                                         <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>\r
1009                                                                                         <parameter name="target" value="{idNearRTRIC}"/>\r
1010                                                                                         <parameter name="replacement" value="`$tmp.nearRTRICId`"/>\r
1011                                                                                     </execute>\r
1012                                                                                 </outcome>\r
1013                                                                                 <outcome value='true'>\r
1014                                                                                     <block atomic='true'>\r
1015                                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
1016                                                                                             <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellDU.ransim-mounted`"/>\r
1017                                                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>\r
1018                                                                                             <parameter name="target" value="{idNearRTRIC}"/>\r
1019                                                                                             <parameter name="replacement" value="`$tmp.nearRTRICId`"/>\r
1020                                                                                         </execute>\r
1021                                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
1022                                                                                             <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>\r
1023                                                                                             <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>\r
1024                                                                                             <parameter name="target" value="{mountName}"/>\r
1025                                                                                             <parameter name="replacement" value="`$tmp.GNBDUId`"/>\r
1026                                                                                         </execute>\r
1027                                                                                     </block>\r
1028                                                                                 </outcome>\r
1029                                                                             </switch>\r
1030                                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
1031                                                                                 <parameter name='outputPath' value='tmp.NRCellDUID' />\r
1032                                                                                 <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBDUFunction['+ $id-du +'].NRCellDU['+ $id-celldu +'].idNRCellDU'`" />\r
1033                                                                             </execute>\r
1034                                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
1035                                                                                 <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>\r
1036                                                                                 <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>\r
1037                                                                                 <parameter name="target" value="{idGNBDUFunction}"/>\r
1038                                                                                 <parameter name="replacement" value="`$tmp.GNBDUId`"/>\r
1039                                                                             </execute>\r
1040                                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
1041                                                                                 <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>\r
1042                                                                                 <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>\r
1043                                                                                 <parameter name="target" value="{idNRCellDU}"/>\r
1044                                                                                 <parameter name="replacement" value="`$tmp.NRCellDUID`"/>\r
1045                                                                             </execute>\r
1046                                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
1047                                                                                 <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>\r
1048                                                                                 <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>\r
1049                                                                                 <parameter name="target" value="{mcc}"/>\r
1050                                                                                 <parameter name="replacement" value="`$tmp.mcc`"/>\r
1051                                                                             </execute>\r
1052                                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
1053                                                                                 <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>\r
1054                                                                                 <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/>\r
1055                                                                                 <parameter name="target" value="{mnc}"/>\r
1056                                                                                 <parameter name="replacement" value="`$tmp.mnc`"/>\r
1057                                                                             </execute>\r
1058                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
1059                                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
1060                                                                                 <parameter name="level" value="info" />\r
1061                                                                                 <parameter name="field1" value="patch cellDU NSSAI parameters"/>\r
1062                                                                                 <parameter name="field2" value="`$tmp.nearRTRICId`"/>\r
1063                                                                                 <parameter name="field3" value="`$tmp.GNBDUId`"/>\r
1064                                                                                 <parameter name="field4" value="`$tmp.NRCellDUID`"/>\r
1065                                                                                 <parameter name="field5" value="`$tmp.mcc`"/>\r
1066                                                                                 <parameter name="field6" value="`$tmp.mnc`"/>\r
1067                                                                                 <parameter name="field7" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/>\r
1068                                                                             </record>\r
1069                                                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
1070                                                                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-status.json'`" />\r
1071                                                                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoListEntry-cellDU.url`"/>\r
1072                                                                                 <parameter name="restapiUser" value="`$prop.controller.user`" />\r
1073                                                                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>\r
1074                                                                                 <parameter name="httpMethod" value="PATCH"/>\r
1075                                                                                 <parameter name="responsePrefix" value="activate-cellDU-PLMNInfoList-response"/>\r
1076                                                                                 <parameter name='contentType' value='application/yang.patch+json' />\r
1077                                                                                 <parameter name='accept' value='application/yang.patch-status+json'/>\r
1078                                                                                 <parameter name='format' value='json' />\r
1079                                                                                 <outcome value='failure'>\r
1080                                                                                     <block atomic='true'>\r
1081                                                                                         <block atomic='true'>\r
1082                                                                                             <set>\r
1083                                                                                                 <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>\r
1084                                                                                                 <parameter name="tmp.status" value="`$error-code`"/>\r
1085                                                                                                 <parameter name="tmp.reason" value="`$error-message`"/>\r
1086                                                                                                 <parameter name="tmp.requestID" value="`$activate-r-a-n-slice-instance-input.common-header.request-id`"/>\r
1087                                                                                                 <parameter name="tmp.action" value="`$activate-r-a-n-slice-instance-input.action`"/>\r
1088                                                                                             </set>\r
1089                                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
1090                                                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />\r
1091                                                                                                 <parameter name="level" value="info" />\r
1092                                                                                                 <parameter name="field1" value="URL for SO Callback Response"/>\r
1093                                                                                                 <parameter name='field2' value="`$tmp.so.callbackURL`" />\r
1094                                                                                                 <parameter name='field3' value="`$tmp.status`" />\r
1095                                                                                                 <parameter name='field4' value="`$tmp.reason`" />\r
1096                                                                                                 <parameter name='field5' value="`$tmp.requestID`" />\r
1097                                                                                                 <parameter name='field6' value="`$tmp.action`" />\r
1098                                                                                             </record>\r
1099                                                                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
1100                                                                                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />\r
1101                                                                                                 <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>\r
1102                                                                                                 <parameter name="httpMethod" value="POST"/>\r
1103                                                                                                 <parameter name="responsePrefix" value="so-callback-activate-response"/>\r
1104                                                                                                 <parameter name='contentType' value='application/json' />\r
1105                                                                                                 <parameter name='format' value='json' />\r
1106                                                                                                 <parameter name='accept' value='*/*' />\r
1107                                                                                                 <parameter name="convertResponse" value="true"/>\r
1108                                                                                                 <outcome value='failure'>\r
1109                                                                                                     <block>\r
1110                                                                                                         <return status='failure'>\r
1111                                                                                                             <parameter name='ack-final' value='Y'/>\r
1112                                                                                                             <parameter name="error-code" value="500" />\r
1113                                                                                                             <parameter name="error-message" value="Error sending SO Response" />\r
1114                                                                                                         </return>\r
1115                                                                                                     </block>\r
1116                                                                                                 </outcome>\r
1117                                                                                                 <outcome value='success'>\r
1118                                                                                                     <block>\r
1119                                                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
1120                                                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
1121                                                                                                             <parameter name="level" value="info" />\r
1122                                                                                                             <parameter name="field1" value="SO Response Sent "/>\r
1123                                                                                                         </record>\r
1124                                                                                                     </block>\r
1125                                                                                                 </outcome>\r
1126                                                                                             </execute>\r
1127                                                                                         </block>\r
1128                                                                                         <set>\r
1129                                                                                             <parameter name='error-code' value='500'/>\r
1130                                                                                             <parameter name='error-message' value='Error patching cellDU PLMNInfoList. Aborting RPC executiopn'/>\r
1131                                                                                         </set>\r
1132                                                                                         <return status='failure'>\r
1133                                                                                             <parameter name='ack-final' value='Y'/>\r
1134                                                                                             <parameter name='error-code' value='500'/>\r
1135                                                                                             <parameter name='error-message' value='Error updating NECellDU - PLMNInfo. Aborting RPC executiopn'/>\r
1136                                                                                         </return>\r
1137                                                                                     </block>\r
1138                                                                                 </outcome>\r
1139                                                                                 <outcome value='success'>\r
1140                                                                                     <block atomic='true'>\r
1141                                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
1142                                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
1143                                                                                             <parameter name="level" value="info" />\r
1144                                                                                             <parameter name="field1" value="Successfully Patched - cellDU PLMNInfo List"/>\r
1145                                                                                         </record>\r
1146                                                                                     </block>\r
1147                                                                                 </outcome>\r
1148                                                                             </execute>\r
1149                                                                         </block>\r
1150                                                                     </outcome>\r
1151                                                                 </switch>\r
1152                                                             </block>\r
1153                                                         </for>\r
1154                                                     </block>\r
1155                                                 </for>\r
1156                                             </block>\r
1157                                         </outcome>\r
1158                                         <outcome value='false'>\r
1159                                             <block atomic='true'>\r
1160                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
1161                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
1162                                                     <parameter name="level" value="info" />\r
1163                                                     <parameter name="field1" value="DU plmninfolistlength in false "/>\r
1164                                                     <parameter name="field2" value="`$tmp.DUpLMNInfoList_length`"/>\r
1165                                                 </record>\r
1166                                             </block>\r
1167                                         </outcome>\r
1168                                     </switch>\r
1169                                 </block>\r
1170                             </for>\r
1171                         </block>\r
1172                     </for>\r
1173                 </block>\r
1174             </for>\r
1175             <block atomic='true'>\r
1176                 <set>\r
1177                     <parameter name="tmp.status" value="success"/>\r
1178                     <parameter name="tmp.reason" value="`$error-message`"/>\r
1179                     <parameter name="tmp.requestID" value="`$activate-r-a-n-slice-instance-input.common-header.request-id `"/>\r
1180                     <parameter name="tmp.action" value="`$activate-r-a-n-slice-instance-input.action`"/>\r
1181                 </set>\r
1182                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
1183                     <parameter name="source" value="`$prop.restapi.so.callbackURL`"/>\r
1184                     <parameter name="outputPath" value="tmp.so.callbackURL"/>\r
1185                     <parameter name="target" value="{requestId}"/>\r
1186                     <parameter name="replacement" value="`$tmp.requestID`"/>\r
1187                 </execute>\r
1188                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
1189                     <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />\r
1190                     <parameter name="level" value="info" />\r
1191                     <parameter name="field1" value="URL for SO Callback Response"/>\r
1192                     <parameter name='field2' value="`$payloadJson.input.callbackURL`" />\r
1193                     <parameter name='field3' value="`$tmp.status`" />\r
1194                     <parameter name='field4' value="`$tmp.reason`" />\r
1195                     <parameter name='field5' value="`$tmp.requestID`" />\r
1196                     <parameter name='field6' value="`$tmp.action`" />\r
1197                 </record>\r
1198                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
1199                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />\r
1200                     <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/>\r
1201                     <parameter name="httpMethod" value="POST"/>\r
1202                     <parameter name="responsePrefix" value="so-callback-activate-response"/>\r
1203                     <parameter name='contentType' value='application/json' />\r
1204                     <parameter name='format' value='json' />\r
1205                     <parameter name='accept' value='*/*' />\r
1206                     <parameter name="restapiUser" value="`$prop.restapi.so.user`" />\r
1207                     <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/>\r
1208                     <outcome value='failure'>\r
1209                         <block>\r
1210                             <set>\r
1211                                 <parameter name='error-code' value='500'/>\r
1212                                 <parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/>\r
1213                             </set>\r
1214                             <return status='failure'>\r
1215                                 <parameter name='ack-final' value='Y'/>\r
1216                                 <parameter name="error-code" value="500" />\r
1217                                 <parameter name="error-message" value="Error sending SO Response" />\r
1218                             </return>\r
1219                         </block>\r
1220                     </outcome>\r
1221                     <outcome value='success'>\r
1222                         <block>\r
1223                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
1224                                 <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" />\r
1225                                 <parameter name="level" value="info" />\r
1226                                 <parameter name="field1" value="SO Response Sent "/>\r
1227                             </record>\r
1228                         </block>\r
1229                     </outcome>\r
1230                 </execute>\r
1231             </block>\r
1232         </block>\r
1233     </method>\r
1234 </service-logic>