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='A1-ADAPTER-API' version='${project.version}'>
4 <method rpc='getPolicyInstance' mode='sync'>
6 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
7 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
8 <parameter name="level" value="info" />
9 <parameter name="field1" value="Get Policy Instance details associated with Near RT RIC ID and Policy Type ID"/>
10 <parameter name="field2" value="`$get-policy-instance-input.near-rt-ric-id`"/>
11 <parameter name="field3" value="`$get-policy-instance-input.policy-type-id`"/>
12 <parameter name="field4" value="`$get-policy-instance-input.policy-instance-id`"/>
15 <parameter name='response-code' value='200' />
16 <parameter name='response-message' value='getPolicyInstance executed successfully' />
18 <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
19 <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties' />
20 <parameter name='contextPrefix' value='prop' />
22 <switch test='`$prop.ric-plt-A1Mediator-deployed`'>
23 <outcome value='true'>
27 <parameter name="tmp.near-rt-ric-id" value="`$get-policy-instance-input.near-rt-ric-id`"/>
28 <parameter name="tmp.policy-type-id" value="`$get-policy-instance-input.policy-type-id`"/>
29 <parameter name="tmp.policy-instance-id" value="`$get-policy-instance-input.policy-instance-id`"/>
31 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
32 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
33 <parameter name="level" value="info" />
34 <parameter name="field1" value="Setting variables for A1 Adapter Get Policy Instance."/>
35 <parameter name="field2" value="`$tmp.near-rt-ric-id`"/>
36 <parameter name="field3" value="`$tmp.policy-type-id`"/>
37 <parameter name="field4" value="`$tmp.policy-instance-id`"/>
39 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
40 <parameter name="source" value="`$prop.restapi.policy`"/>
41 <parameter name="outputPath" value="tmp.restapi.policyinstance-url"/>
42 <parameter name="target" value="{policy_type_id}"/>
43 <parameter name="replacement" value="`$tmp.policy-type-id`"/>
45 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
46 <parameter name="source" value="`$tmp.restapi.policyinstance-url`"/>
47 <parameter name="outputPath" value="tmp.restapi.policyinstance-url"/>
48 <parameter name="target" value="{policy_instance_id}"/>
49 <parameter name="replacement" value="`$tmp.policy-instance-id`"/>
51 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
52 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
53 <parameter name="level" value="info" />
54 <parameter name="field1" value="Setting variables for A1 Adapter Get Policy Instance."/>
55 <parameter name="field2" value="`$tmp.near-rt-ric-id`"/>
56 <parameter name="field3" value="`$tmp.policy-type-id`"/>
57 <parameter name="field4" value="`$tmp.policy-instance-id`"/>
58 <parameter name="field5" value="`$tmp.restapi.policyinstance-url`"/>
60 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
61 <parameter name="restapiUrl" value="`$prop.a1Mediator.url + '/' + $tmp.restapi.policyinstance-url`"/>
62 <parameter name="format" value="json"/>
63 <parameter name="httpMethod" value="GET"/>
64 <parameter name="responsePrefix" value="a1MediatorRsp"/>
65 <parameter name='contentType' value='application/json' />
66 <parameter name='accept' value='application/json' />
67 <parameter name="convertResponse" value="true"/>
68 <outcome value='success'>
70 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
71 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
72 <parameter name="level" value="info" />
73 <parameter name="field1" value="Details of A1 Policy Instance "/>
74 <parameter name="field2" value="`$a1MediatorRsp.httpResponse`"/>
76 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
77 <parameter name="source" value="`$a1MediatorRsp.httpResponse`"/>
78 <parameter name="outputPath" value="tmp.a1-mediator-restapi.payload"/>
79 <parameter name="target" value="\n"/>
80 <parameter name="replacement" value=""/>
82 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
83 <parameter name="source" value="`$tmp.a1-mediator-restapi.payload`"/>
84 <parameter name="outputPath" value="tmp.a1-mediator-restapi.payload"/>
85 <parameter name="target" value="\t"/>
86 <parameter name="replacement" value=""/>
87 <outcome value='success'>
89 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
90 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
91 <parameter name="level" value="info" />
92 <parameter name="field1" value="__TIMESTAMP__"/>
93 <parameter name="field2" value="Redndred template with lines removed \r"/>
94 <parameter name='field3' value='`$tmp.a1-mediator-restapi.payload`' />
98 <outcome value='failure'>
102 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
103 <parameter name='filename' value='/opt/opendaylight/current/data/log/A1-Adapter-getPolicyInstance-specific-context.log' />
107 <outcome value='failure'>
110 <parameter name='response-code' value='500'/>
111 <parameter name='response-message' value='Seems A1 Mediator Not Healthy'/>
113 <return status='failure'>
114 <parameter name='ack-final' value='Y'/>
115 <parameter name="response-code" value="500" />
116 <parameter name="response-message" value="Error in Getting A1 Policy Instances. Aborting" />
118 <block atomic='true'>
120 <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstance'/>
121 <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
122 <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
123 <parameter name='tmp.a1Policy-dmaap-resp.payload' value='`$tmp.a1-mediator-restapi.payload`' />
125 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
126 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
127 <parameter name="level" value="info" />
128 <parameter name="field1" value="__TIMESTAMP__"/>
129 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
130 <parameter name='field3' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
131 <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
132 <parameter name='field5' value="Status Code and Status Value to be published" />
133 <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
134 <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
135 <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
136 <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
137 <parameter name='field10' value="RPC Name" />
138 <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
140 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
141 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
142 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
143 <parameter name='format' value='json' />
144 <parameter name='httpMethod' value='POST' />
145 <parameter name='contentType' value='application/json' />
146 <parameter name='responsePrefix' value='dmaap' />
147 <outcome value='failure'>
149 <return status='failure'>
150 <parameter name='ack-final' value='Y'/>
151 <parameter name="response-code" value="500" />
152 <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
156 <outcome value='success'>
158 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
159 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
160 <parameter name="level" value="info" />
161 <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
173 <outcome value='false'>
176 <parameter name='response-code' value='500'/>
177 <parameter name='response-message' value='A1 Mediator Not Deployed'/>
179 <block atomic='true'>
181 <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstance'/>
182 <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
183 <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
184 <parameter name='tmp.a1Policy-dmaap-resp.payload' value='`$tmp.a1-mediator-restapi.payload`' />
186 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
187 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
188 <parameter name="level" value="info" />
189 <parameter name="field1" value="__TIMESTAMP__"/>
190 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
191 <parameter name='field3' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
192 <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
193 <parameter name='field5' value="Status Code and Status Value to be published" />
194 <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
195 <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
196 <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
197 <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
198 <parameter name='field10' value="RPC Name" />
199 <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
201 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
202 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
203 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
204 <parameter name='format' value='json' />
205 <parameter name='httpMethod' value='POST' />
206 <parameter name='contentType' value='application/json' />
207 <parameter name='responsePrefix' value='dmaap' />
208 <outcome value='failure'>
210 <return status='failure'>
211 <parameter name='ack-final' value='Y'/>
212 <parameter name="response-code" value="500" />
213 <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
217 <outcome value='success'>
219 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
220 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
221 <parameter name="level" value="info" />
222 <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
228 <return status='failure'>
229 <parameter name='ack-final' value='Y'/>
230 <parameter name="response-code" value="500" />
231 <parameter name="response-message" value="Error in Getting A1 Policy Instance. Aborting" />
237 <block atomic='true'>
239 <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstance'/>
240 <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
241 <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
242 <parameter name='tmp.a1Policy-dmaap-resp.payload' value='`$tmp.a1-mediator-restapi.payload`' />
244 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
245 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
246 <parameter name="level" value="info" />
247 <parameter name="field1" value="__TIMESTAMP__"/>
248 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
249 <parameter name='field3' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
250 <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
251 <parameter name='field5' value="Status Code and Status Value to be published" />
252 <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
253 <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
254 <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
255 <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
256 <parameter name='field10' value="RPC Name" />
257 <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
259 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
260 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
261 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
262 <parameter name='format' value='json' />
263 <parameter name='httpMethod' value='POST' />
264 <parameter name='contentType' value='application/json' />
265 <parameter name='responsePrefix' value='dmaap' />
266 <outcome value='failure'>
268 <return status='failure'>
269 <parameter name='ack-final' value='Y'/>
270 <parameter name="response-code" value="500" />
271 <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
275 <outcome value='success'>
277 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
278 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
279 <parameter name="level" value="info" />
280 <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
286 <return status='success'>
287 <parameter name="ack-final-indicator" value="Y" />
288 <parameter name="error-code" value="200" />
289 <parameter name="error-message" value="`$error-message`" />
290 <parameter name='response-code' value='200' />
291 <parameter name='response-message' value='getPolicyInstance executed successfully'/>
292 <parameter name='ack-final' value='Y'/>