LCM UpgradeSoftware DGs
[sdnc/oam.git] / platform-logic / lcm / src / main / xml / LCM_upgrade-software.xml
diff --git a/platform-logic/lcm/src/main/xml/LCM_upgrade-software.xml b/platform-logic/lcm/src/main/xml/LCM_upgrade-software.xml
new file mode 100644 (file)
index 0000000..e3ce5af
--- /dev/null
@@ -0,0 +1,295 @@
+<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='upgrade-software' 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
+            <execute plugin='org.onap.ccsdk.sli.adaptors.ansible.AnsibleAdapter' method='reqExec' >\r
+                <parameter name='AgentUrl' value='`$prop.ansible.agenturl`'/>\r
+                <parameter name='User' value='`$prop.ansible.user`'/>\r
+                <parameter name='Password' value='`prop.ansible.password`'/>\r
+                <parameter name='LocalParameters' value='`$prop.ansible.lcm.localparameters`'/>\r
+                <parameter name='EnvParameters' value='`$upgrade-software-input.payload`'/>\r
+                <parameter name='NodeList' value='`$prop.ansible.nodelist`'/>\r
+                <parameter name='Timeout' value='`$prop.ansible.timeout`'/>\r
+                <parameter name='Version' value='`$prop.ansible.version`'/>\r
+                <parameter name='Id' value='`$upgrade-software-input.common-header.request-id`'/>\r
+                <parameter name='PlaybookName' value='`$prop.lcm.upgrade-software.playbookname`'/>\r
+                <outcome value='not-found'>\r
+                    <block>\r
+                        <set>\r
+                            <parameter name='$org.onap.ccsdk.sli.adaptors.ansible.result.code' value='200'/>\r
+                            <parameter name='org.onap.ccsdk.sli.adaptors.ansible.message' value='Ansible Adapter was not found'/>\r
+                        </set>\r
+                        <block>\r
+                            <set>\r
+                                <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
+                                <parameter name='lcm-dmaap.correlation-id' value='`$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='upgrade-software'/>\r
+                                <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
+                                <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
+                                <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
+                                <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
+                                <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
+                                <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
+                                <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
+                                <parameter name='lcm-dmaap.payload' value='`$org.onap.appc.adapter.ansible.results`'/>\r
+                                <parameter name='lcm-dmaap.status.code' value='`$org.onap.ccsdk.sli.adaptors.ansible.result.code`' />\r
+                                <parameter name='lcm-dmaap.status.message' value='`$org.onap.ccsdk.sli.adaptors.ansible.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="lcm" />\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='error-code' value='200' />\r
+                                <parameter name='error-message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`' />\r
+                            </return>\r
+                        </block>\r
+                    </block>\r
+                </outcome>\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='`$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='upgrade-software'/>\r
+                            <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
+                            <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
+                            <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
+                            <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                            <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                            <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
+                            <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
+                            <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
+                            <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
+                            <parameter name='lcm-dmaap.payload' value='`$org.onap.appc.adapter.ansible.results`'/>\r
+                            <parameter name='lcm-dmaap.status.code' value='`$org.onap.ccsdk.sli.adaptors.ansible.result.code`' />\r
+                            <parameter name='lcm-dmaap.status.message' value='`$org.onap.ccsdk.sli.adaptors.ansible.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="lcm" />\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='error-code' value='200' />\r
+                            <parameter name='error-message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`' />\r
+                        </return>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <switch test="`$org.onap.ccsdk.sli.adaptors.ansible.result.code`">\r
+                        <outcome value='101'>\r
+                            <block>\r
+                                <set>\r
+                                    <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
+                                    <parameter name='lcm-dmaap.correlation-id' value='`$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='upgrade-software'/>\r
+                                    <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
+                                    <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
+                                    <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
+                                    <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                    <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                    <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
+                                    <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
+                                    <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
+                                    <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
+                                    <parameter name='lcm-dmaap.payload' value='`$org.onap.appc.adapter.ansible.results`'/>\r
+                                    <parameter name='lcm-dmaap.status.code' value='`$org.onap.ccsdk.sli.adaptors.ansible.result.code`' />\r
+                                    <parameter name='lcm-dmaap.status.message' value='`$org.onap.ccsdk.sli.adaptors.ansible.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="lcm" />\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='error-code' value='200' />\r
+                                    <parameter name='error-message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`' />\r
+                                </return>\r
+                            </block>\r
+                        </outcome>\r
+                        <outcome value='500'>\r
+                            <block>\r
+                                <set>\r
+                                    <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
+                                    <parameter name='lcm-dmaap.correlation-id' value='`$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='upgrade-software'/>\r
+                                    <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
+                                    <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
+                                    <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
+                                    <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                    <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                    <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
+                                    <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
+                                    <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
+                                    <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
+                                    <parameter name='lcm-dmaap.payload' value='`$org.onap.appc.adapter.ansible.results`'/>\r
+                                    <parameter name='lcm-dmaap.status.code' value='`$org.onap.ccsdk.sli.adaptors.ansible.result.code`' />\r
+                                    <parameter name='lcm-dmaap.status.message' value='`$org.onap.ccsdk.sli.adaptors.ansible.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="lcm" />\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='error-code' value='200' />\r
+                                    <parameter name='error-message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`' />\r
+                                </return>\r
+                            </block>\r
+                        </outcome>\r
+                        <outcome value='100'>\r
+                            <execute plugin='org.onap.ccsdk.sli.adaptors.ansible.AnsibleAdapter' method='reqExecResult' >\r
+                                <parameter name='AgentUrl' value='`$prop.ansible.agenturl`'/>\r
+                                <parameter name='User' value='`$prop.ansible.user`'/>\r
+                                <parameter name='Password' value='`$prop.ansible.password`'/>\r
+                                <parameter name='Id' value='`$upgrade-software-input.common-header.request-id`'/>\r
+                                <parameter name='PlaybookName' value='`$prop.lcm.upgrade-software.playbookname`'/>\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='`$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='upgrade-software'/>\r
+                                            <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
+                                            <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
+                                            <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
+                                            <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                            <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                            <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
+                                            <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
+                                            <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
+                                            <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
+                                            <parameter name='lcm-dmaap.payload' value='`$org.onap.appc.adapter.ansible.results`'/>\r
+                                            <parameter name='lcm-dmaap.status.code' value='`$org.onap.ccsdk.sli.adaptors.ansible.result.code`' />\r
+                                            <parameter name='lcm-dmaap.status.message' value='`$org.onap.ccsdk.sli.adaptors.ansible.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="lcm" />\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='error-code' value='200' />\r
+                                            <parameter name='error-message' value='`$org.onap.ccsdk.sli.adaptors.ansible.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='`$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='upgrade-software'/>\r
+                                            <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
+                                            <parameter name='lcm-dmaap.timestamp' value='`$upgrade-software-input.common-header.timestamp`'/>\r
+                                            <parameter name='lcm-dmaap.api-ver' value='`$upgrade-software-input.common-header.api-ver`'/>\r
+                                            <parameter name='lcm-dmaap.originator-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                            <parameter name='lcm-dmaap.request-id' value='`$upgrade-software-input.common-header.originator-id`'/>\r
+                                            <parameter name='lcm-dmaap.sub-request-id' value='`$upgrade-software-input.common-header.sub-request-id`'/>\r
+                                            <parameter name='lcm-dmaap.flags.mode' value='`$upgrade-software-input.common-header.flags.mode`'/>\r
+                                            <parameter name='lcm-dmaap.flags.force' value='`$upgrade-software-input.common-header.flags.force`'/>\r
+                                            <parameter name='lcm-dmaap.flags.ttl' value='`$upgrade-software-input.common-header.flags.ttl`'/>\r
+                                            <parameter name='lcm-dmaap.payload' value='`$org.onap.appc.adapter.ansible.results`'/>\r
+                                            <parameter name='lcm-dmaap.status.code' value='`$org.onap.ccsdk.sli.adaptors.ansible.result.code`' />\r
+                                            <parameter name='lcm-dmaap.status.message' value='`$org.onap.ccsdk.sli.adaptors.ansible.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="lcm" />\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='`$org.onap.ccsdk.sli.adaptors.ansible.result.code`' />\r
+                                            <parameter name='status.message' value='`$org.onap.ccsdk.sli.adaptors.ansible.message`'/>\r
+                                        </return>\r
+                                    </block>\r
+                                </outcome>\r
+                            </execute>\r
+                        </outcome>\r
+                    </switch>\r
+                </outcome>\r
+            </execute>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file