fix odl patches
[ccsdk/distribution.git] / platform-logic / ran-slice-api / src / main / xml / ran-slice-api_instantiateRANSlice.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='instantiateRANSlice' 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="RPC to handle instantiateRANSlice.: "/>
10                 <parameter name="field2" value="`$instantiate-r-a-n-slice-input.action`"/>
11                 <parameter name="field3" value="`$instantiate-r-a-n-slice-input.common-header.timestamp`"/>
12                 <parameter name="field4" value="`$instantiate-r-a-n-slice-input.common-header.request-id`"/>
13                 <parameter name="field5" value="`$instantiate-r-a-n-slice-input.common-header.originator-id`"/>
14                 <parameter name="field6" value="RPC Payload String "/>
15                 <parameter name="field7" value="`$instantiate-r-a-n-slice-input.payload`"/>
16             </record>
17             <set>
18                 <parameter name='error-code' value='200' />
19                 <parameter name='error-message' value='Successful execution of instantiateRANSice RPC' />
20             </set>
21             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>
22                 <parameter name='source' value='instantiate-r-a-n-slice-input.payload' />
23                 <parameter name='outputPath' value='payloadJson' />
24                 <parameter name='isEscaped' value='false' />
25                 <outcome value='success'>
26                     <block atomic='true'>
27                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
28                             <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-context.log' />
29                         </execute>
30                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
31                             <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
32                             <parameter name="level" value="info" />
33                             <parameter name="field1" value="Payload for instantiateRANSlice.: "/>
34                             <parameter name="field2" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/>
35                             <parameter name="field3" value="`$payloadJson.input.sliceProfile.NSSAI`"/>
36                             <parameter name="field4" value="`$payloadJson.input.sliceProfile.maxNumberofUEs`"/>
37                             <parameter name="field5" value="`$payloadJson.input.sliceProfile.latency`"/>
38                             <parameter name="field6" value="`$payloadJson.input.sliceProfile.uLThptPerSlice`"/>
39                             <parameter name="field7" value="`$payloadJson.input.sliceProfile.dLThptPerSlice`"/>
40                             <parameter name="field8" value="`$payloadJson.input.sliceProfile.maxNumberofConns`"/>
41                             <parameter name="field9" value="`$payloadJson.input.sliceProfile.coverageAreaList[0]`"/>
42                             <parameter name="field10" value="`$payloadJson.input.sliceProfile.uEMobilityLevel`"/>
43                             <parameter name="field11" value="`$payloadJson.input.sliceProfile.resourceSharingLevel`"/>
44                             <parameter name="field12" value="`$payloadJson.input.RANNSSIId`"/>
45                             <parameter name="field13" value="`$payloadJson.input.RANNFNSSIId`"/>
46                             <parameter name="field14" value="`$payloadJson.input.callbackURL`"/>
47                         </record>
48                     </block>
49                 </outcome>
50             </execute>
51             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
52                 <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-context.log' />
53             </execute>
54             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
55                 <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/ran-slice-api-dg.properties' />
56                 <parameter name='contextPrefix' value='prop' />
57             </execute>
58             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
59                 <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
60                 <parameter name="level" value="info" />
61                 <parameter name="field1" value="Properties read .. controller details "/>
62                 <parameter name="field2" value="`$prop.controller.user`"/>
63                 <parameter name="field3" value="`$prop.controller.pwd`"/>
64                 <parameter name="field4" value="`$prop.controller.url`"/>
65                 <parameter name="field5" value="ransim-mounted (true/false): "/>
66                 <parameter name="field6" value="`$prop.ransim-mounted`"/>
67                 <parameter name="field7" value="config DB deployed (true/false): "/>
68                 <parameter name="field8" value="`$prop.configdb-deployed`"/>
69             </record>
70             <block atomic='true'>
71                 <switch test='`$instantiate-r-a-n-slice-input.action`'>
72                     <outcome value='reconfigure'>
73                         <block atomic="true">
74                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
75                                 <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' />
76                                 <parameter name='target' value='dLThptPerSlice' />
77                                 <outcome value='true'>
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/instantiateRANSlice.log" />
81                                             <parameter name="level" value="info" />
82                                             <parameter name="field1" value="PAYLOAD contains dLThptPerSlice...Closed loop "/>
83                                             <parameter name="field2" value="Creating temporary variables ONLy for relevant payload fields "/>
84                                         </record>
85                                         <set>
86                                             <parameter name='tmp.payload.callbackURL' value='`$payloadJson.input.callbackURL`'/>
87                                             <parameter name='tmp.payload.RANNFNSSIId' value='`$payloadJson.input.RANNFNSSIId`'/>
88                                             <parameter name='tmp.payload.RANNSSIId' value='`$payloadJson.input.RANNSSIId`'/>
89                                         </set>
90                                     </block>
91                                 </outcome>
92                                 <outcome value='false'>
93                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
94                                         <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' />
95                                         <parameter name='target' value='maxNumberofConns' />
96                                         <outcome value='true'>
97                                             <block atomic="true">
98                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
99                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
100                                                     <parameter name="level" value="info" />
101                                                     <parameter name="field1" value="PAYLOAD contains maxNumberofConns...Inntelligent Slicing "/>
102                                                     <parameter name="field2" value="Creating temporary variables ONLy for relevant payload fields "/>
103                                                 </record>
104                                                 <set>
105                                                     <parameter name='tmp.payload.callbackURL' value='`$payloadJson.input.callbackURL`'/>
106                                                     <parameter name='tmp.payload.RANNFNSSIId' value='`$payloadJson.input.RANNFNSSIId`'/>
107                                                     <parameter name='tmp.payload.RANNSSIId' value='`$payloadJson.input.RANNSSIId`'/>
108                                                 </set>
109                                             </block>
110                                         </outcome>
111                                     </execute>
112                                 </outcome>
113                             </execute>
114                         </block>
115                     </outcome>
116                     <outcome value='allocate'>
117                         <block atomic="true">
118                             <set>
119                                 <parameter name='tmp.payload.callbackURL' value='`$payloadJson.input.callbackURL`'/>
120                                 <parameter name='tmp.payload.RANNFNSSIId' value='`$payloadJson.input.RANNFNSSIId`'/>
121                                 <parameter name='tmp.payload.RANNSSIId' value='`$payloadJson.input.RANNSSIId`'/>
122                                 <parameter name='tmp.payload.coverageAreaList_length' value='`$payloadJson.input.sliceProfile.coverageAreaTAList_length`'/>
123                                 <parameter name='tmp.payload.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice`'/>
124                                 <parameter name='tmp.payload.latency' value='`$payloadJson.input.sliceProfile.latency`'/>
125                                 <parameter name='tmp.payload.maxNumberofConns' value='`$payloadJson.input.sliceProfile.maxNumberofConns`'/>
126                                 <parameter name='tmp.payload.maxNumberofUEs' value='`$payloadJson.input.sliceProfile.maxNumberofUEs`'/>
127                                 <parameter name='tmp.payload.resourceSharingLevel' value='`$payloadJson.input.sliceProfile.resourceSharingLevel`'/>
128                                 <parameter name='tmp.payload.sliceProfileId' value='`$payloadJson.input.sliceProfile.sliceProfileId`'/>
129                                 <parameter name='tmp.payload.sNSSAI' value='`$payloadJson.input.sliceProfile.snssaiList[0]`'/>
130                                 <parameter name='tmp.payload.uEMobilityLevel' value='`$payloadJson.input.sliceProfile.uEMobilityLevel`'/>
131                                 <parameter name='tmp.payload.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice`'/>
132                                 <parameter name='tmp.payload.pLMNId' value='`$payloadJson.input.sliceProfile.pLMNIdList[0]`'/>
133                             </set>
134                             <set>
135                                 <parameter name='tmp.RRMPolicyRatioID.NearRTRIC' value="`'NearRTRIC-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
136                                 <parameter name='tmp.RRMPolicyRatioID.GNBDUFunction' value="`'GNBDUFunction-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
137                                 <parameter name='tmp.RRMPolicyRatioID.NRCellDU' value="`'NRCellDU-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
138                                 <parameter name='tmp.RRMPolicyRatioID.GNBCUUPFunction' value="`'GNBCUUPFunction-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
139                                 <parameter name='tmp.RRMPolicyRatioID.GNBCUCPFunction' value="`'GNBCUCPFunction-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
140                                 <parameter name='tmp.RRMPolicyRatioID.NRCellCU' value="`'NRCellCU-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
141                                 <parameter name='prop.ranNetwork.RRMPolicyRatioMemberID' value='`$prop.ranNetwork.RRMPolicyRatioMemberID + 1`' />
142                             </set>
143                             <switch test='`$tmp.payload.pLMNId`'>
144                                 <outcome value=''>
145                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
146                                         <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
147                                         <parameter name="level" value="info" />
148                                         <parameter name="field1" value="It is allocate-modify flow. PLMNId is null"/>
149                                     </record>
150                                 </outcome>
151                                 <outcome value='Other'>
152                                     <block atomic="true">
153                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
154                                             <parameter name="original_string" value="`$tmp.payload.pLMNId`" />
155                                             <parameter name="regex" value="-"/>
156                                             <parameter name="ctx_memory_result_key" value="tmp.plmnList" />
157                                         </execute>
158                                         <set>
159                                             <parameter name='tmp.mcc' value='`$tmp.plmnList[0]`'/>
160                                             <parameter name='tmp.mnc' value='`$tmp.plmnList[1]`'/>
161                                         </set>
162                                     </block>
163                                 </outcome>
164                             </switch>
165                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
166                                 <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
167                                 <parameter name="level" value="info" />
168                                 <parameter name="field1" value="PLMNID from Payload: MCC-MNC "/>
169                                 <parameter name="field2" value="`$tmp.mcc`"/>
170                                 <parameter name="field3" value="`$tmp.mnc`"/>
171                             </record>
172                         </block>
173                     </outcome>
174                     <outcome value='modify-allocate'>
175                         <block atomic="true">
176                             <set>
177                                 <parameter name='tmp.payload.callbackURL' value='`$payloadJson.input.callbackURL`'/>
178                                 <parameter name='tmp.payload.RANNFNSSIId' value='`$payloadJson.input.RANNFNSSIId`'/>
179                                 <parameter name='tmp.payload.RANNSSIId' value='`$payloadJson.input.RANNSSIId`'/>
180                                 <parameter name='tmp.payload.coverageAreaList_length' value='`$payloadJson.input.sliceProfile.coverageAreaTAList_length`'/>
181                                 <parameter name='tmp.payload.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice`'/>
182                                 <parameter name='tmp.payload.latency' value='`$payloadJson.input.sliceProfile.latency`'/>
183                                 <parameter name='tmp.payload.maxNumberofConns' value='`$payloadJson.input.sliceProfile.maxNumberofConns`'/>
184                                 <parameter name='tmp.payload.maxNumberofUEs' value='`$payloadJson.input.sliceProfile.maxNumberofUEs`'/>
185                                 <parameter name='tmp.payload.resourceSharingLevel' value='`$payloadJson.input.sliceProfile.resourceSharingLevel`'/>
186                                 <parameter name='tmp.payload.sliceProfileId' value='`$payloadJson.input.sliceProfile.sliceProfileId`'/>
187                                 <parameter name='tmp.payload.sNSSAI' value='`$payloadJson.input.sliceProfile.snssaiList[0]`'/>
188                                 <parameter name='tmp.payload.uEMobilityLevel' value='`$payloadJson.input.sliceProfile.uEMobilityLevel`'/>
189                                 <parameter name='tmp.payload.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice`'/>
190                                 <parameter name='tmp.payload.pLMNId' value='`$payloadJson.input.sliceProfile.pLMNIdList[0]`'/>
191                             </set>
192                             <set>
193                                 <parameter name='tmp.RRMPolicyRatioID.NearRTRIC' value="`'NearRTRIC-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
194                                 <parameter name='tmp.RRMPolicyRatioID.GNBDUFunction' value="`'GNBDUFunction-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
195                                 <parameter name='tmp.RRMPolicyRatioID.NRCellDU' value="`'NRCellDU-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
196                                 <parameter name='tmp.RRMPolicyRatioID.GNBCUUPFunction' value="`'GNBCUUPFunction-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
197                                 <parameter name='tmp.RRMPolicyRatioID.GNBCUCPFunction' value="`'GNBCUCPFunction-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
198                                 <parameter name='tmp.RRMPolicyRatioID.NRCellCU' value="`'NRCellCU-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
199                                 <parameter name='prop.ranNetwork.RRMPolicyRatioMemberID' value='`$prop.ranNetwork.RRMPolicyRatioMemberID + 1`' />
200                             </set>
201                             <switch test='`$tmp.payload.pLMNId`'>
202                                 <outcome value=''>
203                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
204                                         <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
205                                         <parameter name="level" value="info" />
206                                         <parameter name="field1" value="It is allocate-modify flow. PLMNId is null"/>
207                                     </record>
208                                 </outcome>
209                                 <outcome value='Other'>
210                                     <block atomic="true">
211                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
212                                             <parameter name="original_string" value="`$tmp.payload.pLMNId`" />
213                                             <parameter name="regex" value="-"/>
214                                             <parameter name="ctx_memory_result_key" value="tmp.plmnList" />
215                                         </execute>
216                                         <set>
217                                             <parameter name='tmp.mcc' value='`$tmp.plmnList[0]`'/>
218                                             <parameter name='tmp.mnc' value='`$tmp.plmnList[1]`'/>
219                                         </set>
220                                     </block>
221                                 </outcome>
222                             </switch>
223                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
224                                 <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
225                                 <parameter name="level" value="info" />
226                                 <parameter name="field1" value="PLMNID from Payload: MCC-MNC "/>
227                                 <parameter name="field2" value="`$tmp.mcc`"/>
228                                 <parameter name="field3" value="`$tmp.mnc`"/>
229                             </record>
230                         </block>
231                     </outcome>
232                     <outcome value='modify-deallocate'>
233                         <block atomic="true">
234                             <set>
235                                 <parameter name='tmp.payload.callbackURL' value='`$payloadJson.input.callbackURL`'/>
236                                 <parameter name='tmp.payload.RANNFNSSIId' value='`$payloadJson.input.RANNFNSSIId`'/>
237                                 <parameter name='tmp.payload.RANNSSIId' value='`$payloadJson.input.RANNSSIId`'/>
238                                 <parameter name='tmp.payload.coverageAreaList_length' value='`$payloadJson.input.sliceProfile.coverageAreaTAList_length`'/>
239                                 <parameter name='tmp.payload.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice`'/>
240                                 <parameter name='tmp.payload.latency' value='`$payloadJson.input.sliceProfile.latency`'/>
241                                 <parameter name='tmp.payload.maxNumberofConns' value='`$payloadJson.input.sliceProfile.maxNumberofConns`'/>
242                                 <parameter name='tmp.payload.maxNumberofUEs' value='`$payloadJson.input.sliceProfile.maxNumberofUEs`'/>
243                                 <parameter name='tmp.payload.resourceSharingLevel' value='`$payloadJson.input.sliceProfile.resourceSharingLevel`'/>
244                                 <parameter name='tmp.payload.sliceProfileId' value='`$payloadJson.input.sliceProfile.sliceProfileId`'/>
245                                 <parameter name='tmp.payload.sNSSAI' value='`$payloadJson.input.sliceProfile.snssaiList[0]`'/>
246                                 <parameter name='tmp.payload.uEMobilityLevel' value='`$payloadJson.input.sliceProfile.uEMobilityLevel`'/>
247                                 <parameter name='tmp.payload.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice`'/>
248                                 <parameter name='tmp.payload.pLMNId' value='`$payloadJson.input.sliceProfile.pLMNIdList[0]`'/>
249                             </set>
250                             <set>
251                                 <parameter name='tmp.RRMPolicyRatioID.NearRTRIC' value="`'NearRTRIC-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
252                                 <parameter name='tmp.RRMPolicyRatioID.GNBDUFunction' value="`'GNBDUFunction-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
253                                 <parameter name='tmp.RRMPolicyRatioID.NRCellDU' value="`'NRCellDU-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
254                                 <parameter name='tmp.RRMPolicyRatioID.GNBCUUPFunction' value="`'GNBCUUPFunction-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
255                                 <parameter name='tmp.RRMPolicyRatioID.GNBCUCPFunction' value="`'GNBCUCPFunction-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
256                                 <parameter name='tmp.RRMPolicyRatioID.NRCellCU' value="`'NRCellCU-' + $payloadJson.input.sliceProfile.sliceProfileId  + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
257                                 <parameter name='prop.ranNetwork.RRMPolicyRatioMemberID' value='`$prop.ranNetwork.RRMPolicyRatioMemberID + 1`' />
258                             </set>
259                             <switch test='`$tmp.payload.pLMNId`'>
260                                 <outcome value=''>
261                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
262                                         <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
263                                         <parameter name="level" value="info" />
264                                         <parameter name="field1" value="It is allocate-modify flow. PLMNId is null"/>
265                                     </record>
266                                 </outcome>
267                                 <outcome value='Other'>
268                                     <block atomic="true">
269                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
270                                             <parameter name="original_string" value="`$tmp.payload.pLMNId`" />
271                                             <parameter name="regex" value="-"/>
272                                             <parameter name="ctx_memory_result_key" value="tmp.plmnList" />
273                                         </execute>
274                                         <set>
275                                             <parameter name='tmp.mcc' value='`$tmp.plmnList[0]`'/>
276                                             <parameter name='tmp.mnc' value='`$tmp.plmnList[1]`'/>
277                                         </set>
278                                     </block>
279                                 </outcome>
280                             </switch>
281                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
282                                 <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
283                                 <parameter name="level" value="info" />
284                                 <parameter name="field1" value="PLMNID from Payload: MCC-MNC "/>
285                                 <parameter name="field2" value="`$tmp.mcc`"/>
286                                 <parameter name="field3" value="`$tmp.mnc`"/>
287                             </record>
288                         </block>
289                     </outcome>
290                 </switch>
291             </block>
292             <switch test='`$prop.configdb-deployed`'>
293                 <outcome value='true'>
294                     <block atomic='true'>
295                         <switch test='`$instantiate-r-a-n-slice-input.action`'>
296                             <outcome value='allocate'>
297                                 <block atomic="true">
298                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
299                                         <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
300                                         <parameter name="level" value="info" />
301                                         <parameter name="field1" value="Calling instantiateRANSliceAllocate "/>
302                                     </record>
303                                     <call module='ran-slice-api' rpc='instantiateRANSliceAllocate' mode='sync' >
304                                         <outcome value='failure'>
305                                             <return status='failure'>
306                                                 <parameter name='ack-final' value='Y' />
307                                             </return>
308                                         </outcome>
309                                     </call>
310                                 </block>
311                             </outcome>
312                             <outcome value='modify-allocate'>
313                                 <block atomic="true">
314                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
315                                         <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
316                                         <parameter name="level" value="info" />
317                                         <parameter name="field1" value="Calling instantiateRANSliceModifyAllocate "/>
318                                     </record>
319                                     <call module='ran-slice-api' rpc='instantiateRANSliceModifyAllocate-configDB' mode='sync' >
320                                         <outcome value='failure'>
321                                             <return status='failure'>
322                                                 <parameter name='ack-final' value='Y' />
323                                             </return>
324                                         </outcome>
325                                     </call>
326                                 </block>
327                             </outcome>
328                             <outcome value='modify-deallocate'>
329                                 <block atomic="true">
330                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
331                                         <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
332                                         <parameter name="level" value="info" />
333                                         <parameter name="field1" value="Calling instantiateRANSliceModifyDeallocate "/>
334                                     </record>
335                                     <call module='ran-slice-api' rpc='terminateRANSliceInstance-configDB' mode='sync' >
336                                         <outcome value='failure'>
337                                             <return status='failure'>
338                                                 <parameter name='ack-final' value='Y' />
339                                             </return>
340                                         </outcome>
341                                     </call>
342                                 </block>
343                             </outcome>
344                             <outcome value='reconfigure'>
345                                 <block atomic="true">
346                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
347                                         <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
348                                         <parameter name="level" value="info" />
349                                         <parameter name="field1" value="Calling instantiateRANSliceReconfigure "/>
350                                     </record>
351                                     <call module='ran-slice-api' rpc='instantiateRANSliceReconfigure' mode='sync' >
352                                         <outcome value='failure'>
353                                             <return status='failure'>
354                                                 <parameter name='ack-final' value='Y' />
355                                             </return>
356                                         </outcome>
357                                     </call>
358                                 </block>
359                             </outcome>
360                         </switch>
361                     </block>
362                 </outcome>
363                 <outcome value='false'>
364                     <block atomic='true'>
365                         <switch test='`$instantiate-r-a-n-slice-input.action`'>
366                             <outcome value='allocate'>
367                                 <block atomic="true">
368                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
369                                         <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
370                                         <parameter name="level" value="info" />
371                                         <parameter name="field1" value="Calling instantiateRANSliceAllocate "/>
372                                     </record>
373                                     <call module='ran-slice-api' rpc='instantiateRANSliceAllocate-CPS' mode='sync' >
374                                         <outcome value='failure'>
375                                             <return status='failure'>
376                                                 <parameter name='ack-final' value='Y' />
377                                             </return>
378                                         </outcome>
379                                     </call>
380                                 </block>
381                             </outcome>
382                             <outcome value='modify-allocate'>
383                                 <block atomic="true">
384                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
385                                         <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
386                                         <parameter name="level" value="info" />
387                                         <parameter name="field1" value="Calling instantiateRANSliceModifyAllocate-CPS "/>
388                                     </record>
389                                     <call module='ran-slice-api' rpc='instantiateRANSliceModifyAllocate-cps' mode='sync' >
390                                         <outcome value='failure'>
391                                             <return status='failure'>
392                                                 <parameter name='ack-final' value='Y' />
393                                             </return>
394                                         </outcome>
395                                     </call>
396                                 </block>
397                             </outcome>
398                             <outcome value='modify-deallocate'>
399                                 <block atomic="true">
400                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
401                                         <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
402                                         <parameter name="level" value="info" />
403                                         <parameter name="field1" value="Calling instantiateRANSliceModifyAllocate-CPS "/>
404                                     </record>
405                                     <call module='ran-slice-api' rpc='terminateRANSliceInstance-cps' mode='sync' >
406                                         <outcome value='failure'>
407                                             <return status='failure'>
408                                                 <parameter name='ack-final' value='Y' />
409                                             </return>
410                                         </outcome>
411                                     </call>
412                                 </block>
413                             </outcome>
414                             <outcome value='reconfigure'>
415                                 <block atomic="true">
416                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
417                                         <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
418                                         <parameter name="level" value="info" />
419                                         <parameter name="field1" value="Calling instantiateRANSliceReconfigure-cps "/>
420                                     </record>
421                                     <call module='ran-slice-api' rpc='instantiateRANSliceReconfigure-cps' mode='sync' >
422                                         <outcome value='failure'>
423                                             <return status='failure'>
424                                                 <parameter name='ack-final' value='Y' />
425                                             </return>
426                                         </outcome>
427                                     </call>
428                                 </block>
429                             </outcome>
430                         </switch>
431                     </block>
432                 </outcome>
433             </switch>
434             <return status='success'>
435                 <parameter name="ack-final" value="Y" />
436                 <parameter name="error-code" value="200" />
437                 <parameter name="error-message" value="SUCCESSFUL Execution" />
438             </return>
439         </block>
440     </method>
441 </service-logic>