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='getPolicyInstances' 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 All Policy Instance from Near RT RIC ID and Policy Type ID"/>
10 <parameter name="field2" value="`$get-policy-instances-input.near-rt-ric-id`"/>
11 <parameter name="field3" value="`$get-policy-instances-input.policy-type-id`"/>
14 <parameter name='response-code' value='200' />
15 <parameter name='response-message' value='getPolicyInstances executed successfully' />
17 <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
18 <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties' />
19 <parameter name='contextPrefix' value='prop' />
21 <switch test='`$prop.ric-plt-A1Mediator-deployed`'>
22 <outcome value='true'>
26 <parameter name="tmp.near-rt-ric-id" value="`$get-policy-instances-input.near-rt-ric-id`"/>
27 <parameter name="tmp.policy-type-id" value="`$get-policy-instances-input.policy-type-id`"/>
29 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
30 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
31 <parameter name="level" value="info" />
32 <parameter name="field1" value="Setting variables for A1 Adapter Get Policy Instances."/>
33 <parameter name="field2" value="`$tmp.near-rt-ric-id`"/>
34 <parameter name="field3" value="`$tmp.policy-type-id`"/>
36 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
37 <parameter name="source" value="`$prop.restapi.policies`"/>
38 <parameter name="outputPath" value="tmp.restapi.policyinstances-url"/>
39 <parameter name="target" value="{policy_type_id}"/>
40 <parameter name="replacement" value="`$tmp.policy-type-id`"/>
42 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
43 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
44 <parameter name="level" value="info" />
45 <parameter name="field1" value="Setting variables for A1 Adapter Get Policy Instances."/>
46 <parameter name="field2" value="`$tmp.near-rt-ric-id`"/>
47 <parameter name="field3" value="`$tmp.policy-type-id`"/>
48 <parameter name="field4" value="`$tmp.restapi.policyinstances-url`"/>
50 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
51 <parameter name="restapiUrl" value="`$prop.a1Mediator.url + '/' + $tmp.restapi.policyinstances-url`"/>
52 <parameter name="format" value="json"/>
53 <parameter name="httpMethod" value="GET"/>
54 <parameter name="responsePrefix" value="a1MediatorRsp"/>
55 <parameter name='contentType' value='application/json' />
56 <parameter name='accept' value='application/json' />
57 <parameter name="convertResponse" value="true"/>
58 <outcome value='success'>
60 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>
61 <parameter name='source' value='a1MediatorRsp.httpResponse' />
62 <parameter name='outputPath' value='a1MediatorPolicyInstancesList' />
63 <parameter name='isEscaped' value='false' />
65 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
66 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
67 <parameter name="level" value="info" />
68 <parameter name="field1" value="List of A1 Policy Instances: "/>
69 <parameter name="field2" value="`$a1MediatorRsp`"/>
71 <execute plugin="org.onap.ccsdk.sli.plugins.template.TemplateNode" method="evaluateTemplate" >
72 <parameter name='templatePath' value='a1Mediator-get-policy-instances.vtl' />
73 <parameter name='output' value='policyInstancesList' />
74 <parameter name='prefix' value='a1-mediator' />
75 <outcome value='success'>
77 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
78 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
79 <parameter name="level" value="info" />
80 <parameter name="field1" value="__TIMESTAMP__"/>
81 <parameter name="field2" value="A1 Policiy Instances List"/>
82 <parameter name='field3' value='`$a1-mediator.policyInstancesList`' />
87 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
88 <parameter name='filename' value='/opt/opendaylight/current/data/log/A1-Adapter-getPolicyInstances-context.log' />
90 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
91 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
92 <parameter name="level" value="info" />
93 <parameter name="field1" value="List of A1 Policy Types: "/>
94 <parameter name="field2" value="`$a1MediatorRsp._length`"/>
95 <parameter name="field3" value="`$a1MediatorRsp.httpResponse`"/>
96 <parameter name="field4" value="`$a1MediatorRsp.response-code`"/>
97 <parameter name="field5" value='`$a1MediatorRsp._length`' />
98 <parameter name="field6" value='`$a1-mediator.policyInstancesList`' />
102 <outcome value='failure'>
105 <parameter name='response-code' value='500'/>
106 <parameter name='response-message' value='Seems A1 Mediator Not Healthy'/>
108 <return status='failure'>
109 <parameter name='ack-final' value='Y'/>
110 <parameter name="response-code" value="500" />
111 <parameter name="response-message" value="Error in Getting A1 Policy Instances. Aborting" />
113 <block atomic='true'>
115 <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstances'/>
116 <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
117 <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
118 <parameter name='tmp.a1Policy-dmaap-resp.payload' value='`$a1-mediator.policyInstancesList`' />
120 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
121 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
122 <parameter name="level" value="info" />
123 <parameter name="field1" value="__TIMESTAMP__"/>
124 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
125 <parameter name='field3' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
126 <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
127 <parameter name='field5' value="Status Code and Status Value to be published" />
128 <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
129 <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
130 <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
131 <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
132 <parameter name='field10' value="RPC Name" />
133 <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
135 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
136 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
137 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
138 <parameter name='format' value='json' />
139 <parameter name='httpMethod' value='POST' />
140 <parameter name='contentType' value='application/json' />
141 <parameter name='responsePrefix' value='dmaap' />
142 <outcome value='failure'>
144 <return status='failure'>
145 <parameter name='ack-final' value='Y'/>
146 <parameter name="response-code" value="500" />
147 <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
151 <outcome value='success'>
153 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
154 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
155 <parameter name="level" value="info" />
156 <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
168 <outcome value='false'>
171 <parameter name='response-code' value='500'/>
172 <parameter name='response-message' value='A1 Mediator Not Deployed'/>
174 <block atomic='true'>
176 <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstances'/>
177 <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
178 <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
179 <parameter name='tmp.a1Policy-dmaap-resp.payload' value='`$a1-mediator.policyInstancesList`' />
181 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
182 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
183 <parameter name="level" value="info" />
184 <parameter name="field1" value="__TIMESTAMP__"/>
185 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
186 <parameter name='field3' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
187 <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
188 <parameter name='field5' value="Status Code and Status Value to be published" />
189 <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
190 <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
191 <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
192 <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
193 <parameter name='field10' value="RPC Name" />
194 <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
196 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
197 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
198 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
199 <parameter name='format' value='json' />
200 <parameter name='httpMethod' value='POST' />
201 <parameter name='contentType' value='application/json' />
202 <parameter name='responsePrefix' value='dmaap' />
203 <outcome value='failure'>
205 <return status='failure'>
206 <parameter name='ack-final' value='Y'/>
207 <parameter name="response-code" value="500" />
208 <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
212 <outcome value='success'>
214 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
215 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
216 <parameter name="level" value="info" />
217 <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
223 <return status='failure'>
224 <parameter name='ack-final' value='Y'/>
225 <parameter name="response-code" value="500" />
226 <parameter name="response-message" value="Error in Getting A1 Policy Instances. Aborting" />
232 <block atomic='true'>
234 <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstances'/>
235 <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
236 <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
237 <parameter name='tmp.a1Policy-dmaap-resp.payload' value='`$a1-mediator.policyInstancesList`' />
239 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
240 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
241 <parameter name="level" value="info" />
242 <parameter name="field1" value="__TIMESTAMP__"/>
243 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
244 <parameter name='field3' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
245 <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
246 <parameter name='field5' value="Status Code and Status Value to be published" />
247 <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
248 <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
249 <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
250 <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
251 <parameter name='field10' value="RPC Name" />
252 <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
254 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
255 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-generic-response.template`" />
256 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
257 <parameter name='format' value='json' />
258 <parameter name='httpMethod' value='POST' />
259 <parameter name='contentType' value='application/json' />
260 <parameter name='responsePrefix' value='dmaap' />
261 <outcome value='failure'>
263 <return status='failure'>
264 <parameter name='ack-final' value='Y'/>
265 <parameter name="response-code" value="500" />
266 <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
270 <outcome value='success'>
272 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
273 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
274 <parameter name="level" value="info" />
275 <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
281 <return status='success'>
282 <parameter name="ack-final-indicator" value="Y" />
283 <parameter name="error-code" value="200" />
284 <parameter name="error-message" value="`$error-message`" />
285 <parameter name='response-code' value='200' />
286 <parameter name='response-message' value='getPolicyInstances executed successfully'/>
287 <parameter name='ack-final' value='Y'/>