DG's and Templates for A1 Adapter
[ccsdk/distribution.git] / platform-logic / a1Adapter-api / src / main / xml / A1-ADAPTER-API_getHealthCheck.xml
index 6a9395a..6ba7752 100644 (file)
     xmlns='http://www.onap.org/sdnc/svclogic'
     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}'>
     <method rpc='getHealthCheck' mode='sync'>
-        <set>
-            <parameter name='response-code' value='200' />
-            <parameter name='response-message' value='A1 Adapter is healthy'/>
-            <parameter name='health-status' value='200'/>
-            <parameter name='ack-final' value='Y'/>
-        </set>
+        <block atomic='true'>
+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                <parameter name="level" value="info" />
+                <parameter name="field1" value="A1 Adapter Health Check. Near RT RIC ID"/>
+                <parameter name="field2" value="`$get-health-check-input.near-rt-ric-id`"/>
+            </record>
+            <set>
+                <parameter name='response-code' value='200' />
+                <parameter name='response-message' value='A1 is Healthy' />
+            </set>
+            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+                <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties' />
+                <parameter name='contextPrefix' value='prop' />
+            </execute>
+            <switch test='`$prop.ric-plt-A1Mediator-deployed`'>
+                <outcome value='true'>
+                    <block atomic='true'>
+                        <block atomic='true'>
+                            <block atomic='true'>
+                                <set>
+                                    <parameter name="tmp.near-rt-ric-id" value="`$get-health-check-input.near-rt-ric-id`"/>
+                                    <parameter name="tmp.restapi.healthcheck-url" value="`$prop.restapi.healthcheck`"/>
+                                </set>
+                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                    <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                    <parameter name="level" value="info" />
+                                    <parameter name="field1" value="Setting variables for A1 Adapter Health Check."/>
+                                    <parameter name="field2" value="`$tmp.near-rt-ric-id`"/>
+                                    <parameter name="field3" value="`$tmp.restapi.healthcheck-url`"/>
+                                </record>
+                                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                    <parameter name="restapiUrl" value="`$prop.a1Mediator.url + '/' + $tmp.restapi.healthcheck-url`"/>
+                                    <parameter name="format" value="json"/>
+                                    <parameter name="httpMethod" value="GET"/>
+                                    <parameter name="responsePrefix" value="a1MediatorRsp"/>
+                                    <parameter name='contentType' value='application/json' />
+                                    <parameter name='accept' value='application/json' />
+                                    <parameter name="convertResponse" value="false"/>
+                                    <outcome value='success'>
+                                        <block>
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                                <parameter name="level" value="info" />
+                                                <parameter name="field1" value="A1 Mediator is Healthy."/>
+                                            </record>
+                                        </block>
+                                    </outcome>
+                                    <outcome value='failure'>
+                                        <block>
+                                            <set>
+                                                <parameter name='response-code' value='500'/>
+                                                <parameter name='response-message' value='A1 Mediator Not Healthy'/>
+                                            </set>
+                                            <return status='failure'>
+                                                <parameter name='ack-final' value='Y'/>
+                                                <parameter name="response-code" value="404" />
+                                                <parameter name="response-message" value="Error in A1 Mediator Health Check. Aborting A1 Health Check" />
+                                            </return>
+                                            <block atomic='true'>
+                                                <set>
+                                                    <parameter name='tmp.a1-adapter-api.rpc-name' value='getHealthCheck'/>
+                                                    <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
+                                                    <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
+                                                    <parameter name='tmp.a1Policy-dmaap-resp.payload' value="None" />
+                                                </set>
+                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                                    <parameter name="level" value="info" />
+                                                    <parameter name="field1" value="__TIMESTAMP__"/>
+                                                    <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
+                                                    <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                                                    <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                                                    <parameter name='field5' value="Status Code and Status Value to be published" />
+                                                    <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
+                                                    <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
+                                                    <parameter name='field8' value="A1 Adapter DMAAP Response Payload Not Required" />
+                                                    <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
+                                                    <parameter name='field10' value="RPC Name" />
+                                                    <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
+                                                </record>
+                                                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                                    <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                                                    <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                                                    <parameter name='format' value='json' />
+                                                    <parameter name='httpMethod' value='POST' />
+                                                    <parameter name='contentType' value='application/json' />
+                                                    <parameter name='responsePrefix' value='dmaap' />
+                                                    <outcome value='failure'>
+                                                        <block>
+                                                            <return status='failure'>
+                                                                <parameter name='ack-final' value='Y'/>
+                                                                <parameter name="response-code" value="500" />
+                                                                <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
+                                                            </return>
+                                                        </block>
+                                                    </outcome>
+                                                    <outcome value='success'>
+                                                        <block>
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                                                <parameter name="level" value="info" />
+                                                                <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
+                                                            </record>
+                                                        </block>
+                                                    </outcome>
+                                                </execute>
+                                            </block>
+                                        </block>
+                                    </outcome>
+                                </execute>
+                            </block>
+                        </block>
+                    </block>
+                </outcome>
+                <outcome value='false'>
+                    <block>
+                        <set>
+                            <parameter name='response-code' value='500'/>
+                            <parameter name='response-message' value='A1 Mediator Not Deployed'/>
+                        </set>
+                        <block atomic='true'>
+                            <set>
+                                <parameter name='tmp.a1-adapter-api.rpc-name' value='getHealthCheck'/>
+                                <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
+                                <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
+                                <parameter name='tmp.a1Policy-dmaap-resp.payload' value="None" />
+                            </set>
+                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                <parameter name="level" value="info" />
+                                <parameter name="field1" value="__TIMESTAMP__"/>
+                                <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
+                                <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                                <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                                <parameter name='field5' value="Status Code and Status Value to be published" />
+                                <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
+                                <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
+                                <parameter name='field8' value="A1 Adapter DMAAP Response Payload Not Required" />
+                                <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
+                                <parameter name='field10' value="RPC Name" />
+                                <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
+                            </record>
+                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                                <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                                <parameter name='format' value='json' />
+                                <parameter name='httpMethod' value='POST' />
+                                <parameter name='contentType' value='application/json' />
+                                <parameter name='responsePrefix' value='dmaap' />
+                                <outcome value='failure'>
+                                    <block>
+                                        <return status='failure'>
+                                            <parameter name='ack-final' value='Y'/>
+                                            <parameter name="response-code" value="500" />
+                                            <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
+                                        </return>
+                                    </block>
+                                </outcome>
+                                <outcome value='success'>
+                                    <block>
+                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                            <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                            <parameter name="level" value="info" />
+                                            <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
+                                        </record>
+                                    </block>
+                                </outcome>
+                            </execute>
+                        </block>
+                        <return status='failure'>
+                            <parameter name='ack-final' value='Y'/>
+                            <parameter name="response-code" value="500" />
+                            <parameter name="response-message" value="A1 Mediator Not Deployed. Aborting Health Check" />
+                        </return>
+                    </block>
+                </outcome>
+            </switch>
+            <block>
+                <block atomic='true'>
+                    <set>
+                        <parameter name='tmp.a1-adapter-api.rpc-name' value='getHealthCheck'/>
+                        <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
+                        <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
+                        <parameter name='tmp.a1Policy-dmaap-resp.payload' value="None" />
+                    </set>
+                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                        <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                        <parameter name="level" value="info" />
+                        <parameter name="field1" value="__TIMESTAMP__"/>
+                        <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
+                        <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                        <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                        <parameter name='field5' value="Status Code and Status Value to be published" />
+                        <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
+                        <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
+                        <parameter name='field8' value="A1 Adapter DMAAP Response Payload Not Required" />
+                        <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
+                        <parameter name='field10' value="RPC Name" />
+                        <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
+                    </record>
+                    <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                        <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                        <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                        <parameter name='format' value='json' />
+                        <parameter name='httpMethod' value='POST' />
+                        <parameter name='contentType' value='application/json' />
+                        <parameter name='responsePrefix' value='dmaap' />
+                        <outcome value='failure'>
+                            <block>
+                                <return status='failure'>
+                                    <parameter name='ack-final' value='Y'/>
+                                    <parameter name="response-code" value="500" />
+                                    <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
+                                </return>
+                            </block>
+                        </outcome>
+                        <outcome value='success'>
+                            <block>
+                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                    <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                    <parameter name="level" value="info" />
+                                    <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
+                                </record>
+                            </block>
+                        </outcome>
+                    </execute>
+                </block>
+                <return status='success'>
+                    <parameter name="ack-final-indicator" value="Y" />
+                    <parameter name="error-code" value="200" />
+                    <parameter name="error-message" value="`$error-message`" />
+                    <parameter name='response-code' value='200' />
+                    <parameter name='response-message' value='A1 Adapter is healthy'/>
+                    <parameter name='health-status' value='200'/>
+                    <parameter name='ack-final' value='Y'/>
+                </return>
+            </block>
+        </block>
     </method>
 </service-logic>
\ No newline at end of file