add LCM DGs
[sdnc/oam.git] / platform-logic / lcm / src / main / xml / LCM_config-scale-out.xml
diff --git a/platform-logic/lcm/src/main/xml/LCM_config-scale-out.xml b/platform-logic/lcm/src/main/xml/LCM_config-scale-out.xml
new file mode 100755 (executable)
index 0000000..6f5163f
--- /dev/null
@@ -0,0 +1,120 @@
+<service-logic\r
+    xmlns='http://www.onap.org/sdnc/svclogic'\r
+    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='LCM' version='${project.version}'>\r
+    <method rpc='config-scale-out' mode='sync'>\r
+        <block>\r
+            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
+                <parameter name='fileName' value='%SDNC_CONFIG_DIR%/lcm-dg.properties' />\r
+                <parameter name='contextPrefix' value='prop' />\r
+            </execute>\r
+            <set>\r
+                <parameter name='status.code' value='200' />\r
+                <parameter name='status.message' value='unexpected return from LCM DG' />\r
+            </set>\r
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>\r
+                <parameter name='source' value='config-scale-out-input.payload' />\r
+                <parameter name='outputPath' value='payloadJson' />\r
+                <parameter name='isEscaped' value='true' />\r
+                <outcome value='success'>\r
+                    <record plugin='org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder'>\r
+                        <parameter name='logger' value='message-log'/>\r
+                        <parameter name='field1' value='`$payloadJson.request-parameters.vnf-host-ip-address`'/>\r
+                        <parameter name='field2' value='`$payloadJson.configuration-parameters.ip-addr`'/>\r
+                    </record>\r
+                </outcome>\r
+            </execute>\r
+            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.lcm.restconf.configscaleout.templatefile`" />\r
+                <parameter name='restapiUrl' value="`'http://' + $payloadJson.request-parameters.vnf-host-ip-address + ':' + $prop.lcm.restconf.port + $prop.lcm.restconf.configscaleout.urlpath  + $payloadJson.configuration-parameters.ip-addr`" />\r
+                <parameter name='restapiUser' value='`$prop.lcm.restconf.configscaleout.user`' />\r
+                <parameter name='restapiPassword' value='`$prop.lcm.restconf.configscaleout.password`' />\r
+                <parameter name='format' value='json' />\r
+                <parameter name='httpMethod' value='PUT' />\r
+                <parameter name='contentType' value='application/json' />\r
+                <parameter name="responsePrefix" value="restconf" />\r
+                <outcome value='failure'>\r
+                    <block>\r
+                        <set>\r
+                            <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
+                            <parameter name='lcm-dmaap.correlation-id' value="`$config-scale-out-input.common-header.request-id + '-' + $config-scale-out-input.common-header.sub-request-id`"/>\r
+                            <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
+                            <parameter name='lcm-dmaap.rpc-name' value='config-scale-out'/>\r
+                            <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
+                            <parameter name='lcm-dmaap.timestamp' value='`$config-scale-out-input.common-header.timestamp`'/>\r
+                            <parameter name='lcm-dmaap.api-ver' value='`$config-scale-out-input.common-header.api-ver`'/>\r
+                            <parameter name='lcm-dmaap.originator-id' value='`$config-scale-out-input.common-header.originator-id`'/>\r
+                            <parameter name='lcm-dmaap.request-id' value='`$config-scale-out-input.common-header.request-id`'/>\r
+                            <parameter name='lcm-dmaap.sub-request-id' value='`$config-scaleout-input.common-header.sub-request-id`'/>\r
+                            <parameter name='lcm-dmaap.flags.mode' value='`$config-scale-out-input.common-header.flags.mode`'/>\r
+                            <parameter name='lcm-dmaap.flags.force' value='`$config-scale-out-input.common-header.flags.force`'/>\r
+                            <parameter name='lcm-dmaap.flags.ttl' value='`$config-scale-out-input.common-header.flags.ttl`'/>\r
+                            <parameter name='lcm-dmaap.status.code' value='401' />\r
+                            <parameter name='lcm-dmaap.status.message' value="`'DG-Failure '  + $restconf.response-message + ' RestConf ResponseCode=' + $restconf.response-code`"/>\r
+                        </set>\r
+                        <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                            <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
+                            <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\r
+                            <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />\r
+                            <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />\r
+                            <parameter name='format' value='json' />\r
+                            <parameter name='httpMethod' value='POST' />\r
+                            <parameter name='contentType' value='application/json' />\r
+                            <parameter name='responsePrefix' value='dmaap' />\r
+                            <outcome value='failure'>\r
+                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                    <parameter name="logger" value="message-log"/>\r
+                                    <parameter name="field1" value='Failed to Publish to DMaap'/>\r
+                                </record>\r
+                            </outcome>\r
+                        </execute>\r
+                        <return status='failure'>\r
+                            <parameter name='status.code' value= '`$lcm-dmaap.status.code`'/>\r
+                            <parameter name='status.message' value='`$lcm-dmaap.status.message`' />\r
+                        </return>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='success'>\r
+                    <block>\r
+                        <set>\r
+                            <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
+                            <parameter name='lcm-dmaap.correlation-id' value="`$config-scale-out-input.common-header.request-id + '-' + $upgrade-software-input.common-header.sub-request-id`"/>\r
+                            <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
+                            <parameter name='lcm-dmaap.rpc-name' value='config-scale-out'/>\r
+                            <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
+                            <parameter name='lcm-dmaap.timestamp' value='`$config-scale-out-input.common-header.timestamp`'/>\r
+                            <parameter name='lcm-dmaap.api-ver' value='`$config-scaleout-input.common-header.api-ver`'/>\r
+                            <parameter name='lcm-dmaap.originator-id' value='`$config-scale-out-input.common-header.originator-id`'/>\r
+                            <parameter name='lcm-dmaap.request-id' value='`$config-scale-out-input.common-header.request-id`'/>\r
+                            <parameter name='lcm-dmaap.sub-request-id' value='`$config-scale-out-input.common-header.sub-request-id`'/>\r
+                            <parameter name='lcm-dmaap.flags.mode' value='`$config-scale-out-input.common-header.flags.mode`'/>\r
+                            <parameter name='lcm-dmaap.flags.force' value='`$config-scale-out-input.common-header.flags.force`'/>\r
+                            <parameter name='lcm-dmaap.flags.ttl' value='`$config-scale-out-input.common-header.flags.ttl`'/>\r
+                            <parameter name='lcm-dmaap.status.code' value='`$restconf.response-code`' />\r
+                            <parameter name='lcm-dmaap.status.message' value='`$restconf.response-message`'/>\r
+                        </set>\r
+                        <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                            <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
+                            <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\r
+                            <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />\r
+                            <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />\r
+                            <parameter name='format' value='json' />\r
+                            <parameter name='httpMethod' value='POST' />\r
+                            <parameter name='contentType' value='application/json' />\r
+                            <parameter name='responsePrefix' value='dmaap' />\r
+                            <outcome value='failure'>\r
+                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                    <parameter name="logger" value="message-log"/>\r
+                                    <parameter name="field1" value='Failed to Publish to DMaap'/>\r
+                                </record>\r
+                            </outcome>\r
+                        </execute>\r
+                        <return status='success'>\r
+                            <parameter name='status.code' value='`$restconf.response-code`' />\r
+                            <parameter name='status.message' value='`$restconf.response-message`' />\r
+                        </return>\r
+                    </block>\r
+                </outcome>\r
+            </execute>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file