6fb68ef69d0c4981fc136cb0ba07eb4cf5dd42ae
[ccsdk/distribution.git] / platform-logic / ran-slice-api / src / main / xml / ran-slice-api_instantiateRANSliceReconfigure-cps.xml
1 <service-logic
2     xmlns='http://www.onap.org/sdnc/svclogic'
3     xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='ran-slice-api' version='${project.version}'>
4     <method rpc='instantiateRANSliceReconfigure-cps' mode='sync'>
5         <block atomic='true'>
6             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
7                 <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
8                 <parameter name="level" value="info" />
9                 <parameter name="field1" value="Reached instantiateRANSliceReconfigure-cps "/>
10             </record>
11             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
12                 <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' />
13                 <parameter name='target' value='dLThptPerSlice' />
14                 <outcome value='true'>
15                     <block atomic="true">
16                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
17                             <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
18                             <parameter name="level" value="info" />
19                             <parameter name="field1" value="PAYLOAD contains dLThptPerSlice...Closed loop "/>
20                         </record>
21                         <block atomic="true">
22                             <set>
23                                 <parameter name='tmp.payload.numberUpdates' value='`$payloadJson.input.additionalproperties.resourceConfig.data_length`'/>
24                                 <parameter name="tmp.sliceProfileId" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/>
25                                 <parameter name='tmp.payload.sNSSAI' value='`$payloadJson.input.sliceProfile.sNSSAI`'/>
26                             </set>
27                             <for index='id1' start='0' end="`$tmp.payload.numberUpdates`" >
28                                 <set>
29                                     <parameter name="tmp.dLThptPerSlice" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].dLThptPerSlice`"/>
30                                     <parameter name="tmp.uLThptPerSlice" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].uLThptPerSlice`"/>
31                                     <parameter name="tmp.nearRTRICId" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].nearRTRICId`"/>
32                                 </set>
33                                 <switch test='`$tmp.nearRTRICId == 11 `'>
34                                     <outcome value='true'>
35                                         <set>
36                                             <parameter name='tmp.policytype.url' value='`$prop.a1.policytype.url.nearrtric11`'/>
37                                             <parameter name="tmp.policyinstance.url" value="`$prop.a1.policyinstance.url.nearrtric11`"/>
38                                         </set>
39                                     </outcome>
40                                     <outcome value='false'>
41                                         <set>
42                                             <parameter name='tmp.policytype.url' value='`$prop.a1.policytype.url.nearrtric22`'/>
43                                             <parameter name="tmp.policyinstance.url" value="`$prop.a1.policyinstance.url.nearrtric22`"/>
44                                         </set>
45                                     </outcome>
46                                 </switch>
47                                 <block atomic='true'>
48                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
49                                         <parameter name="restapiUrl" value="`$tmp.policytype.url`"/>
50                                         <parameter name='format' value='json' />
51                                         <parameter name='httpMethod' value='GET' />
52                                         <parameter name='contentType' value='application/json' />
53                                         <parameter name='responsePrefix' value='get-policytypes-responsse' />
54                                         <outcome value='success'>
55                                             <block atomic='true'>
56                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
57                                                     <parameter name='outputPath' value='tmp.policytypelength' />
58                                                     <parameter name='source' value="`'get-policytypes-responsse._length'`" />
59                                                 </execute>
60                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
61                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
62                                                     <parameter name="level" value="info" />
63                                                     <parameter name="field1" value="policy types length "/>
64                                                     <parameter name="field2" value="`$tmp.policytypelength`"/>
65                                                 </record>
66                                                 <switch test='`$tmp.policytypelength > 0`'>
67                                                     <outcome value='true'>
68                                                         <block atomic='true'>
69                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
70                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
71                                                                 <parameter name="level" value="info" />
72                                                                 <parameter name="field1" value="policy type already exists "/>
73                                                                 <parameter name="field2" value="SUCCESSFULL"/>
74                                                             </record>
75                                                         </block>
76                                                     </outcome>
77                                                     <outcome value='false'>
78                                                         <block atomic='true'>
79                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
80                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
81                                                                 <parameter name="level" value="info" />
82                                                                 <parameter name="field1" value="creating new policy "/>
83                                                                 <parameter name="field2" value="SUCCESSFULL"/>
84                                                             </record>
85                                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
86                                                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/A1policytype.json'`" />
87                                                                 <parameter name="restapiUrl" value="https://10.31.4.11:30226/events/A1-P"/>
88                                                                 <parameter name='format' value='json' />
89                                                                 <parameter name='httpMethod' value='POST' />
90                                                                 <parameter name='contentType' value='application/json' />
91                                                                 <parameter name='responsePrefix' value='dmaap' />
92                                                                 <outcome value='success'>
93                                                                     <block atomic='true'>
94                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
95                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
96                                                                             <parameter name="level" value="info" />
97                                                                             <parameter name="field1" value="Create policytype "/>
98                                                                             <parameter name="field2" value="Succesfull"/>
99                                                                         </record>
100                                                                     </block>
101                                                                 </outcome>
102                                                             </execute>
103                                                         </block>
104                                                     </outcome>
105                                                 </switch>
106                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
107                                                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/A1policyinstance.json'`" />
108                                                     <parameter name="restapiUrl" value="https://10.31.4.11:30226/events/A1-P"/>
109                                                     <parameter name='format' value='json' />
110                                                     <parameter name='httpMethod' value='POST' />
111                                                     <parameter name='contentType' value='application/json' />
112                                                     <parameter name='responsePrefix' value='dmaap-res' />
113                                                     <outcome value='success'>
114                                                         <block atomic='true'>
115                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
116                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
117                                                                 <parameter name="level" value="info" />
118                                                                 <parameter name="field1" value="Create policyinstance "/>
119                                                                 <parameter name="field2" value="Succesfull"/>
120                                                             </record>
121                                                         </block>
122                                                     </outcome>
123                                                 </execute>
124                                             </block>
125                                         </outcome>
126                                         <outcome value='failure'>
127                                             <block atomic='true'>
128                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
129                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
130                                                     <parameter name="level" value="info" />
131                                                     <parameter name="field1" value="req error "/>
132                                                     <parameter name="field2" value="Failure"/>
133                                                 </record>
134                                             </block>
135                                         </outcome>
136                                     </execute>
137                                 </block>
138                                 <block atomic='true'>
139                                     <switch test='`$prop.ransim-mounted`'>
140                                         <outcome value='false'>
141                                             <block atomic='true'>
142                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
143                                                     <parameter name="source" value="`$prop.restapi.addSliceProfile.ToNearRTRIC`"/>
144                                                     <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
145                                                     <parameter name="target" value="{idNearRTRIC}"/>
146                                                     <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
147                                                 </execute>
148                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
149                                                     <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
150                                                     <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
151                                                     <parameter name="target" value="{sliceProfileId}"/>
152                                                     <parameter name="replacement" value="`$tmp.sliceProfileId`"/>
153                                                 </execute>
154                                             </block>
155                                         </outcome>
156                                         <outcome value='true'>
157                                             <block atomic='true'>
158                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
159                                                     <parameter name="source" value="`$prop.restapi.addSliceProfile.ToNearRTRIC.ransim-mounted`"/>
160                                                     <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
161                                                     <parameter name="target" value="{idNearRTRIC}"/>
162                                                     <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
163                                                 </execute>
164                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
165                                                     <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
166                                                     <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
167                                                     <parameter name="target" value="{sliceProfileId}"/>
168                                                     <parameter name="replacement" value="`$tmp.sliceProfileId`"/>
169                                                 </execute>
170                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
171                                                     <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
172                                                     <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
173                                                     <parameter name="target" value="{mountName}"/>
174                                                     <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
175                                                 </execute>
176                                             </block>
177                                         </outcome>
178                                     </switch>
179                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
180                                         <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
181                                         <parameter name="level" value="info" />
182                                         <parameter name="field1" value="Patch SliceProfile ToNearRTRIC url for closed loop:"/>
183                                         <parameter name="field2" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
184                                     </record>
185                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
186                                         <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
187                                         <parameter name="level" value="info" />
188                                         <parameter name="field1" value="Setting variables for PATCH SliceProfile ToNearRTRIC - closed loop"/>
189                                         <parameter name="field2" value="`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
190                                         <parameter name="field3" value="`$tmp.dLThptPerSlice`"/>
191                                         <parameter name="field4" value="`$tmp.uLThptPerSlice`"/>
192                                         <parameter name="field5" value="`$tmp.nearRTRICId`"/>
193                                         <parameter name="field6" value="`$tmp.sliceProfileId`"/>
194                                     </record>
195                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
196                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-patch.json'`" />
197                                         <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
198                                         <parameter name="restapiUser" value="`$prop.controller.user`" />
199                                         <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
200                                         <parameter name="httpMethod" value="PATCH"/>
201                                         <parameter name="responsePrefix" value="nearRTRIC-slice-patch-response"/>
202                                         <parameter name='contentType' value='application/yang.patch+json' />
203                                         <parameter name='format' value='json' />
204                                         <parameter name='accept' value='application/yang.patch-status+json' />
205                                         <outcome value='failure'>
206                                             <block>
207                                                 <set>
208                                                     <parameter name='error-code' value='500'/>
209                                                     <parameter name='error-message' value='Error Patching slice profile parms for close loop. Exiting close loop operation'/>
210                                                 </set>
211                                                 <return status='failure'>
212                                                     <parameter name='ack-final' value='Y'/>
213                                                     <parameter name='error-code' value='500'/>
214                                                     <parameter name='error-message' value='Error Patching slice profile parms for close loop. Exiting close loop operation'/>
215                                                 </return>
216                                                 <block atomic='true'>
217                                                     <set>
218                                                         <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
219                                                         <parameter name="tmp.status" value="`$error-code`"/>
220                                                         <parameter name="tmp.reason" value="`$error-message`"/>
221                                                         <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
222                                                         <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
223                                                     </set>
224                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
225                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
226                                                         <parameter name="level" value="info" />
227                                                         <parameter name="field1" value="URL for SO Callback Response"/>
228                                                         <parameter name='field2' value="`$tmp.so.callbackURL`" />
229                                                         <parameter name='field3' value="`$tmp.status`" />
230                                                         <parameter name='field4' value="`$tmp.reason`" />
231                                                         <parameter name='field5' value="`$tmp.requestID`" />
232                                                         <parameter name='field6' value="`$tmp.action`" />
233                                                         <parameter name='field7' value="`$tmp.CUCPList`" />
234                                                         <parameter name='field8' value="`$tmp.CUUPList`" />
235                                                         <parameter name='field9' value="`$tmp.DUList`" />
236                                                     </record>
237                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
238                                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
239                                                         <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
240                                                         <parameter name="httpMethod" value="POST"/>
241                                                         <parameter name="responsePrefix" value="so-callback-response"/>
242                                                         <parameter name='contentType' value='application/json' />
243                                                         <parameter name='format' value='json' />
244                                                         <parameter name='accept' value='*/*' />
245                                                         <outcome value='failure'>
246                                                             <block>
247                                                                 <return status='failure'>
248                                                                     <parameter name='ack-final' value='Y'/>
249                                                                     <parameter name="error-code" value="500" />
250                                                                     <parameter name="error-message" value="Error sending SO Response" />
251                                                                 </return>
252                                                             </block>
253                                                         </outcome>
254                                                         <outcome value='success'>
255                                                             <block>
256                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
257                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
258                                                                     <parameter name="level" value="info" />
259                                                                     <parameter name="field1" value="SO Response Sent "/>
260                                                                 </record>
261                                                             </block>
262                                                         </outcome>
263                                                     </execute>
264                                                 </block>
265                                             </block>
266                                         </outcome>
267                                         <outcome value='success'>
268                                             <block>
269                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
270                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
271                                                     <parameter name="level" value="info" />
272                                                     <parameter name="field1" value="Successfully PATCHED NearRTRIC for close loop operation"/>
273                                                 </record>
274                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
275                                                     <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedloop-nearRTRIC-context.log' />
276                                                 </execute>
277                                             </block>
278                                         </outcome>
279                                     </execute>
280                                 </block>
281                                 <block atomic='true'>
282                                     <set>
283                                         <parameter name='tmp.getAnchors.URL' value="`$prop.restapi.cps.anchors.endpoint`"/>
284                                     </set>
285                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
286                                         <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
287                                         <parameter name="level" value="info" />
288                                         <parameter name="field1" value="URL to fetch the anchors"/>
289                                         <parameter name="field2" value="`$tmp.getAnchors.URL`"/>
290                                     </record>
291                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
292                                         <parameter name="restapiUrl" value="`$tmp.getAnchors.URL`"/>
293                                         <parameter name="httpMethod" value="GET"/>
294                                         <parameter name="restapiUser" value="cpsuser" />
295                                         <parameter name="restapiPassword" value="cpsr0cks!"/>
296                                         <parameter name="responsePrefix" value="get-anchors-cps-response"/>
297                                         <parameter name='contentType' value='application/json' />
298                                         <parameter name='format' value='json' />
299                                         <parameter name='accept' value='application/json' />
300                                         <parameter name="convertResponse" value="true"/>
301                                         <outcome value='failure'>
302                                             <block>
303                                                 <set>
304                                                     <parameter name='error-code' value='500'/>
305                                                     <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
306                                                 </set>
307                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
308                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
309                                                     <parameter name="level" value="info" />
310                                                     <parameter name="field1" value="Failed to fetch anchors from CPS"/>
311                                                 </record>
312                                             </block>
313                                         </outcome>
314                                         <outcome value='success'>
315                                             <block atomic='true'>
316                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
317                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
318                                                     <parameter name="level" value="info" />
319                                                     <parameter name="field1" value="Successfully Obtained anchors from CPS"/>
320                                                     <parameter name="field2" value="`$get-anchors-cps-response._length`"/>
321                                                 </record>
322                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
323                                                     <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedLoop-context.log' />
324                                                 </execute>
325                                             </block>
326                                         </outcome>
327                                     </execute>
328                                     <set>
329                                         <parameter name='tmp.anchors.length' value="`$get-anchors-cps-response._length`"/>
330                                     </set>
331                                     <set>
332                                         <parameter name='tmp.RIC.length' value="0"/>
333                                     </set>
334                                     <for index='anc' start='0' end='`$tmp.anchors.length`'>
335                                         <block atomic='true'>
336                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
337                                                 <parameter name='outputPath' value='tmp.schemaset.name' />
338                                                 <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
339                                             </execute>
340                                             <switch test='`$tmp.schemaset.name`'>
341                                                 <outcome value='ran-inventory'>
342                                                     <block atomic='true'>
343                                                         <set>
344                                                             <parameter name='tmp.RIC.length' value="`$tmp.RIC.length+1`"/>
345                                                         </set>
346                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
347                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
348                                                             <parameter name="level" value="info" />
349                                                             <parameter name="field1" value="Applicable RIC length"/>
350                                                             <parameter name="field2" value="`$tmp.RIC.length`"/>
351                                                         </record>
352                                                     </block>
353                                                 </outcome>
354                                             </switch>
355                                         </block>
356                                     </for>
357                                     <for index='anc' start='0' end='`$tmp.anchors.length`'>
358                                         <block atomic='true'>
359                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
360                                                 <parameter name='outputPath' value='tmp.schemaset.name' />
361                                                 <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
362                                             </execute>
363                                             <switch test='`$tmp.schemaset.name`'>
364                                                 <outcome value='ran-inventory'>
365                                                     <block atomic='true'>
366                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
367                                                             <parameter name='outputPath' value='tmp.anchor.name' />
368                                                             <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].name'`" />
369                                                         </execute>
370                                                         <block atomic='true'>
371                                                             <set>
372                                                                 <parameter name='tmp.sliceprofileid' value="`$payloadJson.input.sliceProfile.sliceProfileId`" />
373                                                             </set>
374                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
375                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
376                                                                 <parameter name="level" value="info" />
377                                                                 <parameter name="field1" value="sliceprofileid from input"/>
378                                                                 <parameter name="field2" value="`$tmp.sliceprofileid`"/>
379                                                             </record>
380                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
381                                                                 <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
382                                                                 <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/>
383                                                                 <parameter name="target" value="{schemaSet}"/>
384                                                                 <parameter name="replacement" value="`$tmp.schemaset.name`"/>
385                                                             </execute>
386                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
387                                                                 <parameter name="source" value="`$tmp.cps.getPLMNID.url`"/>
388                                                                 <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/>
389                                                                 <parameter name="target" value="{templateId}"/>
390                                                                 <parameter name="replacement" value="`$prop.tbdmt.template.get-plmnid`"/>
391                                                             </execute>
392                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
393                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
394                                                                 <parameter name="level" value="info" />
395                                                                 <parameter name="field1" value="URL for CPS TDBMT to Get plmnid from sliceprofile"/>
396                                                                 <parameter name='field2' value="`$tmp.cps.getPLMNID.url`" />
397                                                             </record>
398                                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
399                                                                 <parameter name="restapiUrl" value="`$tmp.cps.getPLMNID.url`"/>
400                                                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-plmnid.json'`" />
401                                                                 <parameter name="httpMethod" value="POST"/>
402                                                                 <parameter name="responsePrefix" value="getplmnid-cps-response"/>
403                                                                 <parameter name='contentType' value='application/json' />
404                                                                 <parameter name='format' value='json' />
405                                                                 <parameter name='accept' value='application/json' />
406                                                                 <parameter name="convertResponse" value="true"/>
407                                                                 <outcome value='failure'>
408                                                                     <block>
409                                                                         <set>
410                                                                             <parameter name='error-code' value='500'/>
411                                                                             <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
412                                                                         </set>
413                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
414                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
415                                                                             <parameter name="level" value="info" />
416                                                                             <parameter name="field1" value="Failed to obtain MCC, MNC info from CPS"/>
417                                                                             <parameter name="field2" value="`$cps-get-plmnid.json`"/>
418                                                                         </record>
419                                                                         <return status='failure'>
420                                                                             <parameter name='ack-final' value='Y'/>
421                                                                             <parameter name='error-code' value='500'/>
422                                                                             <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
423                                                                         </return>
424                                                                         <block atomic='true'>
425                                                                             <set>
426                                                                                 <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
427                                                                                 <parameter name="tmp.status" value="`$error-code`"/>
428                                                                                 <parameter name="tmp.reason" value="`$error-message`"/>
429                                                                                 <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
430                                                                                 <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
431                                                                             </set>
432                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
433                                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
434                                                                                 <parameter name="level" value="info" />
435                                                                                 <parameter name="field1" value="URL for SO Callback Response"/>
436                                                                                 <parameter name='field2' value="`$tmp.so.callbackURL`" />
437                                                                                 <parameter name='field3' value="`$tmp.status`" />
438                                                                                 <parameter name='field4' value="`$tmp.reason`" />
439                                                                                 <parameter name='field5' value="`$tmp.requestID`" />
440                                                                                 <parameter name='field6' value="`$tmp.action`" />
441                                                                                 <parameter name='field7' value="`$tmp.CUCPList`" />
442                                                                                 <parameter name='field8' value="`$tmp.CUUPList`" />
443                                                                                 <parameter name='field9' value="`$tmp.DUList`" />
444                                                                             </record>
445                                                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
446                                                                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
447                                                                                 <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
448                                                                                 <parameter name="httpMethod" value="POST"/>
449                                                                                 <parameter name="responsePrefix" value="so-callback-response"/>
450                                                                                 <parameter name='contentType' value='application/json' />
451                                                                                 <parameter name='format' value='json' />
452                                                                                 <parameter name='accept' value='*/*' />
453                                                                                 <outcome value='failure'>
454                                                                                     <block>
455                                                                                         <return status='failure'>
456                                                                                             <parameter name='ack-final' value='Y'/>
457                                                                                             <parameter name="error-code" value="500" />
458                                                                                             <parameter name="error-message" value="Error sending SO Response" />
459                                                                                         </return>
460                                                                                     </block>
461                                                                                 </outcome>
462                                                                                 <outcome value='success'>
463                                                                                     <block>
464                                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
465                                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
466                                                                                             <parameter name="level" value="info" />
467                                                                                             <parameter name="field1" value="SO Response Sent "/>
468                                                                                         </record>
469                                                                                     </block>
470                                                                                 </outcome>
471                                                                             </execute>
472                                                                         </block>
473                                                                     </block>
474                                                                 </outcome>
475                                                                 <outcome value='success'>
476                                                                     <block atomic='true'>
477                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
478                                                                             <parameter name='outputPath' value='tmp.plmn.mcc' />
479                                                                             <parameter name='source' value="`'getplmnid-cps-response.[0].mcc'`" />
480                                                                         </execute>
481                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
482                                                                             <parameter name='outputPath' value='tmp.plmn.mnc' />
483                                                                             <parameter name='source' value="`'getplmnid-cps-response.[0].mnc'`" />
484                                                                         </execute>
485                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
486                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
487                                                                             <parameter name="level" value="info" />
488                                                                             <parameter name="field1" value="Successfully Obtained MCC, MNC info from CPS"/>
489                                                                             <parameter name="field2" value="`$tmp.plmn.mcc`"/>
490                                                                             <parameter name="field3" value="`$tmp.plmn.mnc`"/>
491                                                                         </record>
492                                                                     </block>
493                                                                 </outcome>
494                                                             </execute>
495                                                             <set>
496                                                                 <parameter name='tmp.mcc' value='`$tmp.plmn.mcc`'/>
497                                                                 <parameter name='tmp.mnc' value='`$tmp.plmn.mnc`'/>
498                                                             </set>
499                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
500                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
501                                                                 <parameter name="level" value="info" />
502                                                                 <parameter name="field1" value="mcc,mnc values..."/>
503                                                                 <parameter name="field2" value="`$tmp.mcc`"/>
504                                                                 <parameter name="field3" value="`$tmp.mnc`"/>
505                                                             </record>
506                                                         </block>
507                                                     </block>
508                                                 </outcome>
509                                             </switch>
510                                         </block>
511                                     </for>
512                                 </block>
513                                 <block atomic="true">
514                                     <switch test='`$prop.ransim-mounted`'>
515                                         <outcome value='false'>
516                                             <block atomic='true'>
517                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
518                                                     <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC`"/>
519                                                     <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
520                                                     <parameter name="target" value="{idNearRTRIC}"/>
521                                                     <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
522                                                 </execute>
523                                             </block>
524                                         </outcome>
525                                         <outcome value='true'>
526                                             <block atomic='true'>
527                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
528                                                     <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC.ransim-mounted`"/>
529                                                     <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
530                                                     <parameter name="target" value="{idNearRTRIC}"/>
531                                                     <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
532                                                 </execute>
533                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
534                                                     <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
535                                                     <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
536                                                     <parameter name="target" value="{mountName}"/>
537                                                     <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
538                                                 </execute>
539                                             </block>
540                                         </outcome>
541                                     </switch>
542                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
543                                         <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
544                                         <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
545                                         <parameter name="target" value="{mcc}"/>
546                                         <parameter name="replacement" value="`$tmp.mcc`"/>
547                                     </execute>
548                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
549                                         <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
550                                         <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
551                                         <parameter name="target" value="{mnc}"/>
552                                         <parameter name="replacement" value="`$tmp.mnc`"/>
553                                     </execute>
554                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
555                                         <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
556                                         <parameter name="level" value="info" />
557                                         <parameter name="field1" value="Closed loop API params"/>
558                                         <parameter name="field2" value="`$tmp.nearRTRICId`"/>
559                                         <parameter name="field3" value="`$tmp.mcc`"/>
560                                         <parameter name="field4" value="`$tmp.mnc`"/>
561                                     </record>
562                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
563                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-config-patch.json'`" />
564                                         <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
565                                         <parameter name="restapiUser" value="`$prop.controller.user`" />
566                                         <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
567                                         <parameter name="httpMethod" value="PATCH"/>
568                                         <parameter name="responsePrefix" value="patch-nearRTRIC-config-response"/>
569                                         <parameter name='contentType' value='application/yang.patch+json' />
570                                         <parameter name='accept' value='application/yang.patch-status+json'/>
571                                         <parameter name='format' value='json' />
572                                         <outcome value='success'>
573                                             <block atomic='true'>
574                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
575                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
576                                                     <parameter name="level" value="info" />
577                                                     <parameter name="field1" value="Successfully patched NearRTRIC configuration"/>
578                                                 </record>
579                                             </block>
580                                         </outcome>
581                                         <outcome value='failure'>
582                                             <block>
583                                                 <set>
584                                                     <parameter name='error-code' value='500'/>
585                                                     <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
586                                                 </set>
587                                                 <return status='failure'>
588                                                     <parameter name='ack-final' value='Y'/>
589                                                     <parameter name='error-code' value='500'/>
590                                                     <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
591                                                 </return>
592                                             </block>
593                                         </outcome>
594                                     </execute>
595                                     <set>
596                                         <parameter name='tmp.getAnchors.URL' value="`$prop.restapi.cps.anchors.endpoint`"/>
597                                     </set>
598                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
599                                         <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
600                                         <parameter name="level" value="info" />
601                                         <parameter name="field1" value="URL to fetch the anchors"/>
602                                         <parameter name="field2" value="`$tmp.getAnchors.URL`"/>
603                                     </record>
604                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
605                                         <parameter name="restapiUrl" value="`$tmp.getAnchors.URL`"/>
606                                         <parameter name="httpMethod" value="GET"/>
607                                         <parameter name="restapiUser" value="cpsuser" />
608                                         <parameter name="restapiPassword" value="cpsr0cks!"/>
609                                         <parameter name="responsePrefix" value="get-anchors-cps-response"/>
610                                         <parameter name='contentType' value='application/json' />
611                                         <parameter name='format' value='json' />
612                                         <parameter name='accept' value='application/json' />
613                                         <parameter name="convertResponse" value="true"/>
614                                         <outcome value='failure'>
615                                             <block>
616                                                 <set>
617                                                     <parameter name='error-code' value='500'/>
618                                                     <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
619                                                 </set>
620                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
621                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
622                                                     <parameter name="level" value="info" />
623                                                     <parameter name="field1" value="Failed to fetch anchors from CPS"/>
624                                                 </record>
625                                             </block>
626                                         </outcome>
627                                         <outcome value='success'>
628                                             <block atomic='true'>
629                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
630                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
631                                                     <parameter name="level" value="info" />
632                                                     <parameter name="field1" value="Successfully Obtained anchors from CPS"/>
633                                                     <parameter name="field2" value="`$get-anchors-cps-response._length`"/>
634                                                 </record>
635                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
636                                                     <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedLoop-context.log' />
637                                                 </execute>
638                                             </block>
639                                         </outcome>
640                                     </execute>
641                                     <set>
642                                         <parameter name='tmp.anchors.length' value="`$get-anchors-cps-response._length`"/>
643                                     </set>
644                                     <for index='anc' start='0' end='`$tmp.anchors.length`'>
645                                         <block atomic='true'>
646                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
647                                                 <parameter name='outputPath' value='tmp.schemaset.name' />
648                                                 <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
649                                             </execute>
650                                             <switch test='`$tmp.schemaset.name`'>
651                                                 <outcome value='ran-network'>
652                                                     <block atomic='true'>
653                                                         <set>
654                                                             <parameter name='tmp.RIC.length' value="`$tmp.RIC.length+1`"/>
655                                                         </set>
656                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
657                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
658                                                             <parameter name="level" value="info" />
659                                                             <parameter name="field1" value="Applicable RIC length"/>
660                                                             <parameter name="field2" value="`$tmp.RIC.length`"/>
661                                                         </record>
662                                                     </block>
663                                                 </outcome>
664                                             </switch>
665                                         </block>
666                                     </for>
667                                     <for index='anc' start='0' end='`$tmp.anchors.length`'>
668                                         <block atomic='true'>
669                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
670                                                 <parameter name='outputPath' value='tmp.schemaset.name' />
671                                                 <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
672                                             </execute>
673                                             <switch test='`$tmp.schemaset.name`'>
674                                                 <outcome value='ran-network'>
675                                                     <block atomic='true'>
676                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
677                                                             <parameter name='outputPath' value='tmp.anchor.name' />
678                                                             <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].name'`" />
679                                                         </execute>
680                                                         <block atomic='true'>
681                                                             <set>
682                                                                 <parameter name='tmp.mcc' value='`$tmp.mcc`' />
683                                                                 <parameter name='tmp.mnc' value='`$tmp.mnc`' />
684                                                                 <parameter name='tmp.configParameter' value='`dLThptPerSlice`' />
685                                                                 <parameter name='tmp.configValue' value='`$tmp.dLThptPerSlice`' />
686                                                             </set>
687                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
688                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
689                                                                 <parameter name="level" value="info" />
690                                                                 <parameter name="field1" value="Inputs"/>
691                                                                 <parameter name="field2" value="`$tmp.nearRTRICId`"/>
692                                                                 <parameter name="field3" value="`$tmp.mcc`"/>
693                                                                 <parameter name="field4" value="`$tmp.mnc`"/>
694                                                                 <parameter name="field5" value="`$tmp.payload.sNSSAI`"/>
695                                                                 <parameter name="field6" value="`$tmp.dLThptPerSlice`"/>
696                                                                 <parameter name="field7" value="`$tmp.configParameter`"/>
697                                                                 <parameter name="field8" value="`$tmp.configValue`"/>
698                                                             </record>
699                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
700                                                                 <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
701                                                                 <parameter name="outputPath" value="tmp.cps.patchconfigData.url"/>
702                                                                 <parameter name="target" value="{schemaSet}"/>
703                                                                 <parameter name="replacement" value="`$tmp.schemaset.name`"/>
704                                                             </execute>
705                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
706                                                                 <parameter name="source" value="`$tmp.cps.patchconfigData.url`"/>
707                                                                 <parameter name="outputPath" value="tmp.cps.patchconfigData.url"/>
708                                                                 <parameter name="target" value="{templateId}"/>
709                                                                 <parameter name="replacement" value="`$prop.tbdmt.template.patch-configData`"/>
710                                                             </execute>
711                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
712                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
713                                                                 <parameter name="level" value="info" />
714                                                                 <parameter name="field1" value="URL for CPS TDBMT to patch dLThptPerSlice"/>
715                                                                 <parameter name='field2' value="`$tmp.cps.patchconfigData.url`" />
716                                                             </record>
717                                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
718                                                                 <parameter name="restapiUrl" value="`$tmp.cps.patchconfigData.url`"/>
719                                                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-patch-configData.json'`" />
720                                                                 <parameter name="httpMethod" value="POST"/>
721                                                                 <parameter name="responsePrefix" value="patchdLThptPerSlice-cps-response"/>
722                                                                 <parameter name='contentType' value='application/json' />
723                                                                 <parameter name='format' value='json' />
724                                                                 <parameter name='accept' value='application/json' />
725                                                                 <parameter name="convertResponse" value="true"/>
726                                                                 <outcome value='failure'>
727                                                                     <block>
728                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
729                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
730                                                                             <parameter name="level" value="info" />
731                                                                             <parameter name="field1" value="Failed to update CPS"/>
732                                                                             <parameter name="field2" value="`$cps-patch-configData.json`"/>
733                                                                             <parameter name="field3" value="`$patchdLThptPerSlice-cps-response.httpResponse`"/>
734                                                                         </record>
735                                                                         <set>
736                                                                             <parameter name='error-code' value='500'/>
737                                                                             <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
738                                                                         </set>
739                                                                         <return status='failure'>
740                                                                             <parameter name='ack-final' value='Y'/>
741                                                                             <parameter name='error-code' value='500'/>
742                                                                             <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
743                                                                         </return>
744                                                                     </block>
745                                                                 </outcome>
746                                                                 <outcome value='success'>
747                                                                     <block atomic='true'>
748                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
749                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
750                                                                             <parameter name="level" value="info" />
751                                                                             <parameter name="field1" value="Successfully patched dLThptPerSlice"/>
752                                                                             <parameter name="field2" value="`$patchdLThptPerSlice-cps-response.httpResponse`"/>
753                                                                         </record>
754                                                                     </block>
755                                                                 </outcome>
756                                                             </execute>
757                                                             <set>
758                                                                 <parameter name='tmp.configParameter' value='`uLThptPerSlice`' />
759                                                                 <parameter name='tmp.configValue' value='`$tmp.uLThptPerSlice`' />
760                                                             </set>
761                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
762                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
763                                                                 <parameter name="level" value="info" />
764                                                                 <parameter name="field1" value="Inputs"/>
765                                                                 <parameter name="field2" value="`$tmp.nearRTRICId`"/>
766                                                                 <parameter name="field3" value="`$tmp.mcc`"/>
767                                                                 <parameter name="field4" value="`$tmp.mnc`"/>
768                                                                 <parameter name="field5" value="`$tmp.payload.sNSSAI`"/>
769                                                                 <parameter name="field6" value="`$tmp.uLThptPerSlice`"/>
770                                                                 <parameter name="field7" value="`$tmp.configParameter`"/>
771                                                                 <parameter name="field8" value="`$tmp.configValue`"/>
772                                                             </record>
773                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
774                                                                 <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
775                                                                 <parameter name="outputPath" value="tmp.cps.patchuLThptPerSlice.url"/>
776                                                                 <parameter name="target" value="{schemaSet}"/>
777                                                                 <parameter name="replacement" value="`$tmp.schemaset.name`"/>
778                                                             </execute>
779                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
780                                                                 <parameter name="source" value="`$tmp.cps.patchuLThptPerSlice.url`"/>
781                                                                 <parameter name="outputPath" value="tmp.cps.patchuLThptPerSlice.url"/>
782                                                                 <parameter name="target" value="{templateId}"/>
783                                                                 <parameter name="replacement" value="`$prop.tbdmt.template.patch-configData`"/>
784                                                             </execute>
785                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
786                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
787                                                                 <parameter name="level" value="info" />
788                                                                 <parameter name="field1" value="URL for CPS TDBMT to patch uLThptPerSlice"/>
789                                                                 <parameter name='field2' value="`$tmp.cps.patchuLThptPerSlice.url`" />
790                                                             </record>
791                                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
792                                                                 <parameter name="restapiUrl" value="`$tmp.cps.patchuLThptPerSlice.url`"/>
793                                                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-patch-configData.json'`" />
794                                                                 <parameter name="httpMethod" value="POST"/>
795                                                                 <parameter name="responsePrefix" value="patchuLThptPerSlice-cps-response"/>
796                                                                 <parameter name='contentType' value='application/json' />
797                                                                 <parameter name='format' value='json' />
798                                                                 <parameter name='accept' value='application/json' />
799                                                                 <parameter name="convertResponse" value="true"/>
800                                                                 <outcome value='failure'>
801                                                                     <block>
802                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
803                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
804                                                                             <parameter name="level" value="info" />
805                                                                             <parameter name="field1" value="Failed to update CPS"/>
806                                                                             <parameter name="field2" value="`$cps-patch-uLThptPerSlice.json`"/>
807                                                                         </record>
808                                                                         <set>
809                                                                             <parameter name='error-code' value='500'/>
810                                                                             <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
811                                                                         </set>
812                                                                         <return status='failure'>
813                                                                             <parameter name='ack-final' value='Y'/>
814                                                                             <parameter name='error-code' value='500'/>
815                                                                             <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
816                                                                         </return>
817                                                                     </block>
818                                                                 </outcome>
819                                                                 <outcome value='success'>
820                                                                     <block atomic='true'>
821                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
822                                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
823                                                                             <parameter name="level" value="info" />
824                                                                             <parameter name="field1" value="Successfully patched uLThptPerSlice"/>
825                                                                             <parameter name="field2" value="`$patchuLThptPerSlice-cps-response.httpResponse`"/>
826                                                                         </record>
827                                                                     </block>
828                                                                 </outcome>
829                                                             </execute>
830                                                         </block>
831                                                     </block>
832                                                 </outcome>
833                                             </switch>
834                                         </block>
835                                     </for>
836                                 </block>
837                             </for>
838                         </block>
839                     </block>
840                 </outcome>
841                 <outcome value='false'>
842                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
843                         <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' />
844                         <parameter name='target' value='maxNumberofConns' />
845                         <outcome value='true'>
846                             <block atomic="true">
847                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
848                                     <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
849                                     <parameter name="level" value="info" />
850                                     <parameter name="field1" value="PAYLOAD contains maxNumberofConns...Inntelligent Slicing "/>
851                                 </record>
852                                 <set>
853                                     <parameter name='tmp.payload.dataPoints' value='`$payloadJson.input.additionalproperties.resourceConfig.data_length`'/>
854                                     <parameter name="tmp.payload.sNSSAI" value="`$payloadJson.input.additionalproperties.resourceConfig.snssai`"/>
855                                     <parameter name="tmp.sliceProfileId" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/>
856                                 </set>
857                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
858                                     <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
859                                     <parameter name="level" value="info" />
860                                     <parameter name="field1" value="Data length "/>
861                                     <parameter name="field2" value="`$tmp.payload.dataPoints`"/>
862                                 </record>
863                                 <block atomic="true">
864                                     <block atomic='true'>
865                                         <set>
866                                             <parameter name='tmp.getAnchors.URL' value="`$prop.restapi.cps.anchors.endpoint`"/>
867                                         </set>
868                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
869                                             <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
870                                             <parameter name="level" value="info" />
871                                             <parameter name="field1" value="URL to fetch the anchors"/>
872                                             <parameter name="field2" value="`$tmp.getAnchors.URL`"/>
873                                         </record>
874                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
875                                             <parameter name="restapiUrl" value="`$tmp.getAnchors.URL`"/>
876                                             <parameter name="httpMethod" value="GET"/>
877                                             <parameter name="restapiUser" value="cpsuser" />
878                                             <parameter name="restapiPassword" value="cpsr0cks!"/>
879                                             <parameter name="responsePrefix" value="get-anchors-cps-response"/>
880                                             <parameter name='contentType' value='application/json' />
881                                             <parameter name='format' value='json' />
882                                             <parameter name='accept' value='application/json' />
883                                             <parameter name="convertResponse" value="true"/>
884                                             <outcome value='failure'>
885                                                 <block>
886                                                     <set>
887                                                         <parameter name='error-code' value='500'/>
888                                                         <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
889                                                     </set>
890                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
891                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
892                                                         <parameter name="level" value="info" />
893                                                         <parameter name="field1" value="Failed to fetch anchors from CPS"/>
894                                                     </record>
895                                                 </block>
896                                             </outcome>
897                                             <outcome value='success'>
898                                                 <block atomic='true'>
899                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
900                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
901                                                         <parameter name="level" value="info" />
902                                                         <parameter name="field1" value="Successfully Obtained anchors from CPS"/>
903                                                         <parameter name="field2" value="`$get-anchors-cps-response._length`"/>
904                                                     </record>
905                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
906                                                         <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedLoop-context.log' />
907                                                     </execute>
908                                                 </block>
909                                             </outcome>
910                                         </execute>
911                                         <set>
912                                             <parameter name='tmp.anchors.length' value="`$get-anchors-cps-response._length`"/>
913                                         </set>
914                                         <set>
915                                             <parameter name='tmp.RIC.length' value="0"/>
916                                         </set>
917                                         <for index='anc' start='0' end='`$tmp.anchors.length`'>
918                                             <block atomic='true'>
919                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
920                                                     <parameter name='outputPath' value='tmp.schemaset.name' />
921                                                     <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
922                                                 </execute>
923                                                 <switch test='`$tmp.schemaset.name`'>
924                                                     <outcome value='ran-inventory'>
925                                                         <block atomic='true'>
926                                                             <set>
927                                                                 <parameter name='tmp.RIC.length' value="`$tmp.RIC.length+1`"/>
928                                                             </set>
929                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
930                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
931                                                                 <parameter name="level" value="info" />
932                                                                 <parameter name="field1" value="Applicable RIC length"/>
933                                                                 <parameter name="field2" value="`$tmp.RIC.length`"/>
934                                                             </record>
935                                                         </block>
936                                                     </outcome>
937                                                 </switch>
938                                             </block>
939                                         </for>
940                                         <for index='anc' start='0' end='`$tmp.anchors.length`'>
941                                             <block atomic='true'>
942                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
943                                                     <parameter name='outputPath' value='tmp.schemaset.name' />
944                                                     <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
945                                                 </execute>
946                                                 <switch test='`$tmp.schemaset.name`'>
947                                                     <outcome value='ran-inventory'>
948                                                         <block atomic='true'>
949                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
950                                                                 <parameter name='outputPath' value='tmp.anchor.name' />
951                                                                 <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].name'`" />
952                                                             </execute>
953                                                             <block atomic='true'>
954                                                                 <set>
955                                                                     <parameter name='tmp.sliceprofileid' value="`$payloadJson.input.sliceProfile.sliceProfileId`" />
956                                                                 </set>
957                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
958                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
959                                                                     <parameter name="level" value="info" />
960                                                                     <parameter name="field1" value="sliceprofileid from input"/>
961                                                                     <parameter name="field2" value="`$tmp.sliceprofileid`"/>
962                                                                 </record>
963                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
964                                                                     <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
965                                                                     <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/>
966                                                                     <parameter name="target" value="{schemaSet}"/>
967                                                                     <parameter name="replacement" value="`$tmp.schemaset.name`"/>
968                                                                 </execute>
969                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
970                                                                     <parameter name="source" value="`$tmp.cps.getPLMNID.url`"/>
971                                                                     <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/>
972                                                                     <parameter name="target" value="{templateId}"/>
973                                                                     <parameter name="replacement" value="`$prop.tbdmt.template.get-plmnid`"/>
974                                                                 </execute>
975                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
976                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
977                                                                     <parameter name="level" value="info" />
978                                                                     <parameter name="field1" value="URL for CPS TDBMT to Get plmnid from sliceprofile"/>
979                                                                     <parameter name='field2' value="`$tmp.cps.getPLMNID.url`" />
980                                                                 </record>
981                                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
982                                                                     <parameter name="restapiUrl" value="`$tmp.cps.getPLMNID.url`"/>
983                                                                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-plmnid.json'`" />
984                                                                     <parameter name="httpMethod" value="POST"/>
985                                                                     <parameter name="responsePrefix" value="getplmnid-cps-response"/>
986                                                                     <parameter name='contentType' value='application/json' />
987                                                                     <parameter name='format' value='json' />
988                                                                     <parameter name='accept' value='application/json' />
989                                                                     <parameter name="convertResponse" value="true"/>
990                                                                     <outcome value='failure'>
991                                                                         <block>
992                                                                             <set>
993                                                                                 <parameter name='error-code' value='500'/>
994                                                                                 <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
995                                                                             </set>
996                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
997                                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
998                                                                                 <parameter name="level" value="info" />
999                                                                                 <parameter name="field1" value="Failed to obtain MCC, MNC info from CPS"/>
1000                                                                                 <parameter name="field2" value="`$cps-get-plmnid.json`"/>
1001                                                                             </record>
1002                                                                             <return status='failure'>
1003                                                                                 <parameter name='ack-final' value='Y'/>
1004                                                                                 <parameter name='error-code' value='500'/>
1005                                                                                 <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
1006                                                                             </return>
1007                                                                             <block atomic='true'>
1008                                                                                 <set>
1009                                                                                     <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
1010                                                                                     <parameter name="tmp.status" value="`$error-code`"/>
1011                                                                                     <parameter name="tmp.reason" value="`$error-message`"/>
1012                                                                                     <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
1013                                                                                     <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
1014                                                                                 </set>
1015                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
1016                                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
1017                                                                                     <parameter name="level" value="info" />
1018                                                                                     <parameter name="field1" value="URL for SO Callback Response"/>
1019                                                                                     <parameter name='field2' value="`$tmp.so.callbackURL`" />
1020                                                                                     <parameter name='field3' value="`$tmp.status`" />
1021                                                                                     <parameter name='field4' value="`$tmp.reason`" />
1022                                                                                     <parameter name='field5' value="`$tmp.requestID`" />
1023                                                                                     <parameter name='field6' value="`$tmp.action`" />
1024                                                                                     <parameter name='field7' value="`$tmp.CUCPList`" />
1025                                                                                     <parameter name='field8' value="`$tmp.CUUPList`" />
1026                                                                                     <parameter name='field9' value="`$tmp.DUList`" />
1027                                                                                 </record>
1028                                                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
1029                                                                                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
1030                                                                                     <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
1031                                                                                     <parameter name="httpMethod" value="POST"/>
1032                                                                                     <parameter name="responsePrefix" value="so-callback-response"/>
1033                                                                                     <parameter name='contentType' value='application/json' />
1034                                                                                     <parameter name='format' value='json' />
1035                                                                                     <parameter name='accept' value='*/*' />
1036                                                                                     <outcome value='failure'>
1037                                                                                         <block>
1038                                                                                             <return status='failure'>
1039                                                                                                 <parameter name='ack-final' value='Y'/>
1040                                                                                                 <parameter name="error-code" value="500" />
1041                                                                                                 <parameter name="error-message" value="Error sending SO Response" />
1042                                                                                             </return>
1043                                                                                         </block>
1044                                                                                     </outcome>
1045                                                                                     <outcome value='success'>
1046                                                                                         <block>
1047                                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
1048                                                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
1049                                                                                                 <parameter name="level" value="info" />
1050                                                                                                 <parameter name="field1" value="SO Response Sent "/>
1051                                                                                             </record>
1052                                                                                         </block>
1053                                                                                     </outcome>
1054                                                                                 </execute>
1055                                                                             </block>
1056                                                                         </block>
1057                                                                     </outcome>
1058                                                                     <outcome value='success'>
1059                                                                         <block atomic='true'>
1060                                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
1061                                                                                 <parameter name='outputPath' value='tmp.plmn.mcc' />
1062                                                                                 <parameter name='source' value="`'getplmnid-cps-response.[0].mcc'`" />
1063                                                                             </execute>
1064                                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
1065                                                                                 <parameter name='outputPath' value='tmp.plmn.mnc' />
1066                                                                                 <parameter name='source' value="`'getplmnid-cps-response.[0].mnc'`" />
1067                                                                             </execute>
1068                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
1069                                                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
1070                                                                                 <parameter name="level" value="info" />
1071                                                                                 <parameter name="field1" value="Successfully Obtained MCC, MNC info from CPS"/>
1072                                                                                 <parameter name="field2" value="`$tmp.plmn.mcc`"/>
1073                                                                                 <parameter name="field3" value="`$tmp.plmn.mnc`"/>
1074                                                                             </record>
1075                                                                         </block>
1076                                                                     </outcome>
1077                                                                 </execute>
1078                                                                 <set>
1079                                                                     <parameter name='tmp.mcc' value='`$tmp.plmn.mcc`'/>
1080                                                                     <parameter name='tmp.mnc' value='`$tmp.plmn.mnc`'/>
1081                                                                 </set>
1082                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
1083                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
1084                                                                     <parameter name="level" value="info" />
1085                                                                     <parameter name="field1" value="mcc,mnc values..."/>
1086                                                                     <parameter name="field2" value="`$tmp.mcc`"/>
1087                                                                     <parameter name="field3" value="`$tmp.mnc`"/>
1088                                                                 </record>
1089                                                             </block>
1090                                                         </block>
1091                                                     </outcome>
1092                                                 </switch>
1093                                             </block>
1094                                         </for>
1095                                     </block>
1096                                     <for index='id-is' start='0' end="`$tmp.payload.dataPoints`" >
1097                                         <block atomic="true">
1098                                             <set>
1099                                                 <parameter name="tmp.nearRTRICId" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id-is].nearRTRICId`"/>
1100                                             </set>
1101                                             <switch test='`$prop.ransim-mounted`'>
1102                                                 <outcome value='false'>
1103                                                     <block atomic='true'>
1104                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
1105                                                             <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC`"/>
1106                                                             <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
1107                                                             <parameter name="target" value="{idNearRTRIC}"/>
1108                                                             <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
1109                                                         </execute>
1110                                                     </block>
1111                                                 </outcome>
1112                                                 <outcome value='true'>
1113                                                     <block atomic='true'>
1114                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
1115                                                             <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC.ransim-mounted`"/>
1116                                                             <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
1117                                                             <parameter name="target" value="{idNearRTRIC}"/>
1118                                                             <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
1119                                                         </execute>
1120                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
1121                                                             <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
1122                                                             <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
1123                                                             <parameter name="target" value="{mountName}"/>
1124                                                             <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
1125                                                         </execute>
1126                                                     </block>
1127                                                 </outcome>
1128                                             </switch>
1129                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
1130                                                 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
1131                                                 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
1132                                                 <parameter name="target" value="{mcc}"/>
1133                                                 <parameter name="replacement" value="`$tmp.mcc`"/>
1134                                             </execute>
1135                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
1136                                                 <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
1137                                                 <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
1138                                                 <parameter name="target" value="{mnc}"/>
1139                                                 <parameter name="replacement" value="`$tmp.mnc`"/>
1140                                             </execute>
1141                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
1142                                                 <parameter name='outputPath' value='tmp.CUCellListEntries' />
1143                                                 <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList_length'`" />
1144                                             </execute>
1145                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
1146                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
1147                                                 <parameter name="level" value="info" />
1148                                                 <parameter name="field1" value="CUCEll List length "/>
1149                                                 <parameter name="field2" value="`$tmp.CUCellListEntries`"/>
1150                                             </record>
1151                                             <for index='id2' start='0' end="`$tmp.CUCellListEntries`" >
1152                                                 <block atomic="true">
1153                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
1154                                                         <parameter name='outputPath' value='tmp.cellLocalId' />
1155                                                         <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList['+$id2+'].cellLocalId'`" />
1156                                                     </execute>
1157                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>
1158                                                         <parameter name="source" value="`$tmp.cellLocalId`" />
1159                                                         <parameter name="target" value="-maxNumberofConns"/>
1160                                                         <parameter name="outputPath" value="tmp.cellLocalId" />
1161                                                     </execute>
1162                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
1163                                                         <parameter name='outputPath' value='tmp.predictedMaxNumberofConns' />
1164                                                         <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList['+$id2+'].configData.predictedMaxNumberofConns'`" />
1165                                                     </execute>
1166                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
1167                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
1168                                                         <parameter name="level" value="info" />
1169                                                         <parameter name="field1" value="cellLocalId"/>
1170                                                         <parameter name="field2" value="`$tmp.cellLocalId`"/>
1171                                                     </record>
1172                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
1173                                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-config-patch.json'`" />
1174                                                         <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
1175                                                         <parameter name="restapiUser" value="`$prop.controller.user`" />
1176                                                         <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
1177                                                         <parameter name="httpMethod" value="PATCH"/>
1178                                                         <parameter name="responsePrefix" value="patch-nearRTRIC-config-response"/>
1179                                                         <parameter name='contentType' value='application/yang.patch+json' />
1180                                                         <parameter name='accept' value='application/yang.patch-status+json'/>
1181                                                         <parameter name='format' value='json' />
1182                                                         <outcome value='success'>
1183                                                             <block atomic='true'>
1184                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
1185                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
1186                                                                     <parameter name="level" value="info" />
1187                                                                     <parameter name="field1" value="Successfully patched NearRTRIC configuration"/>
1188                                                                 </record>
1189                                                             </block>
1190                                                         </outcome>
1191                                                         <outcome value='failure'>
1192                                                             <block>
1193                                                                 <block atomic='true'>
1194                                                                     <set>
1195                                                                         <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
1196                                                                         <parameter name="tmp.status" value="`$error-code`"/>
1197                                                                         <parameter name="tmp.reason" value="`$error-message`"/>
1198                                                                         <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
1199                                                                         <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
1200                                                                     </set>
1201                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
1202                                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
1203                                                                         <parameter name="level" value="info" />
1204                                                                         <parameter name="field1" value="URL for SO Callback Response"/>
1205                                                                         <parameter name='field2' value="`$tmp.so.callbackURL`" />
1206                                                                         <parameter name='field3' value="`$tmp.status`" />
1207                                                                         <parameter name='field4' value="`$tmp.reason`" />
1208                                                                         <parameter name='field5' value="`$tmp.requestID`" />
1209                                                                         <parameter name='field6' value="`$tmp.action`" />
1210                                                                         <parameter name='field7' value="`$tmp.CUCPList`" />
1211                                                                         <parameter name='field8' value="`$tmp.CUUPList`" />
1212                                                                         <parameter name='field9' value="`$tmp.DUList`" />
1213                                                                     </record>
1214                                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
1215                                                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
1216                                                                         <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
1217                                                                         <parameter name="httpMethod" value="POST"/>
1218                                                                         <parameter name="responsePrefix" value="so-callback-response"/>
1219                                                                         <parameter name='contentType' value='application/json' />
1220                                                                         <parameter name='format' value='json' />
1221                                                                         <parameter name='accept' value='*/*' />
1222                                                                         <outcome value='failure'>
1223                                                                             <block>
1224                                                                                 <return status='failure'>
1225                                                                                     <parameter name='ack-final' value='Y'/>
1226                                                                                     <parameter name="error-code" value="500" />
1227                                                                                     <parameter name="error-message" value="Error sending SO Response" />
1228                                                                                 </return>
1229                                                                             </block>
1230                                                                         </outcome>
1231                                                                         <outcome value='success'>
1232                                                                             <block>
1233                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
1234                                                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
1235                                                                                     <parameter name="level" value="info" />
1236                                                                                     <parameter name="field1" value="SO Response Sent "/>
1237                                                                                 </record>
1238                                                                             </block>
1239                                                                         </outcome>
1240                                                                     </execute>
1241                                                                 </block>
1242                                                                 <set>
1243                                                                     <parameter name='error-code' value='500'/>
1244                                                                     <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
1245                                                                 </set>
1246                                                                 <return status='failure'>
1247                                                                     <parameter name='ack-final' value='Y'/>
1248                                                                     <parameter name='error-code' value='500'/>
1249                                                                     <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
1250                                                                 </return>
1251                                                             </block>
1252                                                         </outcome>
1253                                                     </execute>
1254                                                 </block>
1255                                             </for>
1256                                         </block>
1257                                     </for>
1258                                 </block>
1259                             </block>
1260                         </outcome>
1261                     </execute>
1262                 </outcome>
1263             </execute>
1264             <block atomic='true'>
1265                 <set>
1266                     <parameter name="tmp.status" value="`$error-code`"/>
1267                     <parameter name="tmp.reason" value="`$error-message`"/>
1268                     <parameter name="tmp.requestID" value="`$instantiate-r-a-n-slice-input.common-header.request-id `"/>
1269                     <parameter name="tmp.action" value="`$instantiate-r-a-n-slice-input.action`"/>
1270                 </set>
1271                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
1272                     <parameter name="source" value="`$prop.restapi.so.callbackURL`"/>
1273                     <parameter name="outputPath" value="tmp.so.callbackURL"/>
1274                     <parameter name="target" value="{requestId}"/>
1275                     <parameter name="replacement" value="`$tmp.requestID`"/>
1276                 </execute>
1277                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
1278                     <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
1279                     <parameter name="level" value="info" />
1280                     <parameter name="field1" value="URL for SO Callback Response"/>
1281                     <parameter name='field2' value="`$payloadJson.input.callbackURL`" />
1282                     <parameter name='field3' value="`$tmp.status`" />
1283                     <parameter name='field4' value="`$tmp.reason`" />
1284                     <parameter name='field5' value="`$tmp.requestID`" />
1285                     <parameter name='field6' value="`$tmp.action`" />
1286                     <parameter name='field7' value="`$tmp.CUCPList`" />
1287                     <parameter name='field8' value="`$tmp.CUUPList`" />
1288                     <parameter name='field9' value="`$tmp.DUList`" />
1289                 </record>
1290                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
1291                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
1292                     <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/>
1293                     <parameter name="httpMethod" value="POST"/>
1294                     <parameter name="responsePrefix" value="so-callback-response"/>
1295                     <parameter name='contentType' value='application/json' />
1296                     <parameter name='format' value='json' />
1297                     <parameter name='accept' value='*/*' />
1298                     <parameter name="restapiUser" value="`$prop.restapi.so.user`" />
1299                     <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/>
1300                     <outcome value='failure'>
1301                         <block>
1302                             <set>
1303                                 <parameter name='error-code' value='500'/>
1304                                 <parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/>
1305                             </set>
1306                             <return status='failure'>
1307                                 <parameter name='ack-final' value='Y'/>
1308                                 <parameter name="error-code" value="500" />
1309                                 <parameter name="error-message" value="Error sending SO Response" />
1310                             </return>
1311                         </block>
1312                     </outcome>
1313                     <outcome value='success'>
1314                         <block>
1315                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
1316                                 <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
1317                                 <parameter name="level" value="info" />
1318                                 <parameter name="field1" value="SO Response Sent "/>
1319                             </record>
1320                         </block>
1321                     </outcome>
1322                 </execute>
1323             </block>
1324             <return status='success'>
1325                 <parameter name="ack-final" value="N" />
1326                 <parameter name="error-code" value="200" />
1327                 <parameter name="error-message" value="SUCCESSFUL Execution" />
1328             </return>
1329         </block>
1330     </method>
1331 </service-logic>