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'>
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`"/>
18 <parameter name='error-code' value='200' />
19 <parameter name='error-message' value='Successful execution of instantiateRANSice RPC' />
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'>
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' />
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`"/>
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' />
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' />
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`"/>
71 <parameter name='tmp.payload.trackingArea' value='`$payloadJson.input.sliceProfile.coverageAreaList[0]`'/>
72 <parameter name='tmp.payload.callbackURL' value='`$payloadJson.input.callbackURL`'/>
73 <parameter name='tmp.payload.RANNFNSSIId' value='`$payloadJson.input.RANNFNSSIId`'/>
74 <parameter name='tmp.payload.RANNSSIId' value='`$payloadJson.input.RANNSSIId`'/>
75 <parameter name='tmp.payload.coverageAreaList_length' value='`$payloadJson.input.sliceProfile.coverageAreaList_length`'/>
76 <parameter name='tmp.payload.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice`'/>
77 <parameter name='tmp.payload.latency' value='`$payloadJson.input.sliceProfile.latency`'/>
78 <parameter name='tmp.payload.maxNumberofConns' value='`$payloadJson.input.sliceProfile.maxNumberofConns`'/>
79 <parameter name='tmp.payload.maxNumberofUEs' value='`$payloadJson.input.sliceProfile.maxNumberofUEs`'/>
80 <parameter name='tmp.payload.resourceSharingLevel' value='`$payloadJson.input.sliceProfile.resourceSharingLevel`'/>
81 <parameter name='tmp.payload.sliceProfileId' value='`$payloadJson.input.sliceProfile.sliceProfileId`'/>
82 <parameter name='tmp.payload.sNSSAI' value='`$payloadJson.input.sliceProfile.sNSSAI`'/>
83 <parameter name='tmp.payload.uEMobilityLevel' value='`$payloadJson.input.sliceProfile.uEMobilityLevel`'/>
84 <parameter name='tmp.payload.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice`'/>
85 <parameter name='tmp.payload.pLMNId' value='`$payloadJson.input.sliceProfile.pLMNIdList[0]`'/>
88 <parameter name='tmp.RRMPolicyRatioID.NearRTRIC' value="`'NearRTRIC-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
89 <parameter name='tmp.RRMPolicyRatioID.GNBDUFunction' value="`'GNBDUFunction-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
90 <parameter name='tmp.RRMPolicyRatioID.NRCellDU' value="`'NRCellDU-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
91 <parameter name='tmp.RRMPolicyRatioID.GNBCUUPFunction' value="`'GNBCUUPFunction-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
92 <parameter name='tmp.RRMPolicyRatioID.GNBCUCPFunction' value="`'GNBCUCPFunction-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
93 <parameter name='tmp.RRMPolicyRatioID.NRCellCU' value="`'NRCellCU-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" />
94 <parameter name='prop.ranNetwork.RRMPolicyRatioMemberID' value='`$prop.ranNetwork.RRMPolicyRatioMemberID + 1`' />
96 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>
97 <parameter name="string" value="`$tmp.payload.pLMNId`" />
98 <parameter name="result" value="tmp.mcc"/>
99 <parameter name="begin-index" value="0" />
100 <parameter name="end-index" value="3" />
102 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>
103 <parameter name="string" value="`$tmp.payload.pLMNId`" />
104 <parameter name="result" value="tmp.mnc"/>
105 <parameter name="begin-index" value="4" />
107 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
108 <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
109 <parameter name="level" value="info" />
110 <parameter name="field1" value="PLMNID from Payload: MCC-MNC "/>
111 <parameter name="field2" value="`$tmp.mcc`"/>
112 <parameter name="field3" value="`$tmp.mnc`"/>
114 <switch test='`$prop.configdb-deployed`'>
115 <outcome value='true'>
116 <block atomic='true'>
117 <switch test='`$instantiate-r-a-n-slice-input.action`'>
118 <outcome value='allocate'>
119 <block atomic="true">
120 <call module='GENERIC-RESOURCE-API' rpc='instantiateRANSliceAllocate' mode='sync' >
121 <outcome value='failure'>
122 <return status='failure'>
123 <parameter name='ack-final' value='Y' />
129 <outcome value='modify-allocate'>
130 <block atomic="true">
131 <call module='GENERIC-RESOURCE-API' rpc='instantiateRANSliceModifyAllocate' mode='sync' >
132 <outcome value='failure'>
133 <return status='failure'>
134 <parameter name='ack-final' value='Y' />
140 <outcome value='modify-deallocate'>
141 <block atomic="true">
142 <call module='GENERIC-RESOURCE-API' rpc='instantiateRANSliceModifyDeallocate' mode='sync' >
143 <outcome value='failure'>
144 <return status='failure'>
145 <parameter name='ack-final' value='Y' />
151 <outcome value='reconfigure'>
152 <block atomic="true">
153 <call module='GENERIC-RESOURCE-API' rpc='instantiateRANSliceReconfigure' mode='sync' >
154 <outcome value='failure'>
155 <return status='failure'>
156 <parameter name='ack-final' value='Y' />
166 <return status='success'>
167 <parameter name="ack-final" value="Y" />
168 <parameter name="error-code" value="200" />
169 <parameter name="error-message" value="SUCCESSFUL Execution" />