aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEnbo Wang <wangenbo@huawei.com>2019-12-13 19:58:23 +0800
committerEnbo Wang <wangenbo@huawei.com>2019-12-13 19:58:23 +0800
commitf5a63c57879141bd9e1054de41a901cdbd802e7f (patch)
treef86d00350fb204f5c3f8290f24263f789c541e30
parentb9af5d6e4625a9eab2f235f3b437f54fa963ed88 (diff)
Add DGs and Ansible playbooks for downloadNESw and activateNESw
Provide DGs and Ansible playbooks for downloadNESw and activateNESw. Change-Id: Ie1986c5fa9296be64f5f5a7daba9b37568c49710 Issue-ID: SDNC-857 Signed-off-by: Enbo Wang <wangenbo@huawei.com> Former-commit-id: e230b8417389625b80b1e0f39405b8dc73322c78
-rw-r--r--installation/ansible-server/src/main/Playbooks/ansible_huawei_activatenesw@0.00.yml64
-rw-r--r--installation/ansible-server/src/main/Playbooks/ansible_huawei_downloadnesw@0.00.yml64
-rw-r--r--installation/src/main/properties/lcm-dg.properties4
-rw-r--r--platform-logic/lcm/src/main/json/LCM_activate-ne-sw.json1156
-rw-r--r--platform-logic/lcm/src/main/json/LCM_download-ne-sw.json1156
-rw-r--r--platform-logic/lcm/src/main/resources/graph.versions2
-rw-r--r--platform-logic/lcm/src/main/xml/LCM_activate-ne-sw.xml471
-rw-r--r--platform-logic/lcm/src/main/xml/LCM_download-ne-sw.xml471
8 files changed, 3388 insertions, 0 deletions
diff --git a/installation/ansible-server/src/main/Playbooks/ansible_huawei_activatenesw@0.00.yml b/installation/ansible-server/src/main/Playbooks/ansible_huawei_activatenesw@0.00.yml
new file mode 100644
index 00000000..bee98aa7
--- /dev/null
+++ b/installation/ansible-server/src/main/Playbooks/ansible_huawei_activatenesw@0.00.yml
@@ -0,0 +1,64 @@
+---
+- hosts: all
+ tasks:
+
+ - name: parameter neIdentifier
+ set_fact:
+ ne_identifier: "{{neIdentifier}}"
+ when: neIdentifier is defined
+
+ - name: parameter swVersionToBeActivated
+ set_fact:
+ sw_version_to_be_activated: "{{swVersionToBeActivated}}"
+ when: swVersionToBeActivated is defined
+
+ - name: compatible with parameter pnfId
+ set_fact:
+ ne_identifier: "{{pnfId}}"
+ when: neIdentifier is not defined and pnfId is defined
+
+ - name: execute activateNESw operation
+ shell: ./swm/activateNESw --swVersionToBeActivated {{sw_version_to_be_activated}} --neIdentifier {{ne_identifier}}
+ ignore_errors: yes
+ register: activate_result
+
+ - name: parse response of activateNESw
+ set_fact:
+ activate_response: "{{ activate_result.stdout | from_json }}"
+
+ - name: build failure message
+ set_fact:
+ activate_failure_msg: "{{ activate_result.stdout }}"
+ when: activate_result is failed
+
+ - name: write failure message to file
+ local_action: copy content="{{activate_failure_msg}}" dest="{{inventory_dir}}/{{inventory_hostname}}_results.txt"
+ when: activate_result is failed
+
+ - name: use result of activateNESw as the result of Playbook
+ fail:
+ msg: "{{activate_failure_msg}}"
+ when: activate_result is failed
+
+ - name: fetch file of Notification notifyActivateNESwStatusChanged
+ fetch:
+ dest: "{{inventory_dir}}"
+ src: "/tmp/notifyActivateNESwStatusChanged-{{activate_response.activateProcessId}}"
+
+ - name: read contents of Notification notifyActivateNESwStatusChanged
+ set_fact:
+ activate_notification: "{{ lookup('file', '{{inventory_dir}}/{{inventory_hostname}}/tmp/notifyActivateNESwStatusChanged-{{activate_response.activateProcessId}}') | from_json }}"
+
+ - name: delete file of Notification notifyActivateNESwStatusChanged
+ local_action: file path="{{inventory_dir}}/{{inventory_hostname}}/tmp/notifyActivateNESwStatusChanged-{{activate_response.activateProcessId}}" state=absent
+
+ - name: build success message
+ set_fact:
+ activate_success_msg:
+ "result": "Success"
+ when: activate_notification.activateOperationStatus == "NE_SWACTIVATION_SUCCESSFUL"
+
+ - name: write success message to file
+ local_action: copy content="{{activate_success_msg}}" dest="{{inventory_dir}}/{{inventory_hostname}}_results.txt"
+ when: activate_notification.activateOperationStatus == "NE_SWACTIVATION_SUCCESSFUL"
+
diff --git a/installation/ansible-server/src/main/Playbooks/ansible_huawei_downloadnesw@0.00.yml b/installation/ansible-server/src/main/Playbooks/ansible_huawei_downloadnesw@0.00.yml
new file mode 100644
index 00000000..77bc21b3
--- /dev/null
+++ b/installation/ansible-server/src/main/Playbooks/ansible_huawei_downloadnesw@0.00.yml
@@ -0,0 +1,64 @@
+---
+- hosts: all
+ tasks:
+
+ - name: parameter neIdentifier
+ set_fact:
+ ne_identifier: "{{neIdentifier}}"
+ when: neIdentifier is defined
+
+ - name: parameter swToBeDownloaded
+ set_fact:
+ sw_to_be_downloaded: "{{swToBeDownloaded}}"
+ when: swToBeDownloaded is defined
+
+ - name: compatible with parameter pnfId
+ set_fact:
+ ne_identifier: "{{pnfId}}"
+ when: neIdentifier is not defined and pnfId is defined
+
+ - name: execute downloadNESw operation
+ shell: ./swm/downloadNESw --neIdentifier {{ne_identifier}} --swToBeDownloaded {{sw_to_be_downloaded}}
+ ignore_errors: yes
+ register: download_result
+
+ - name: parse response of downloadNESw
+ set_fact:
+ download_response: "{{ download_result.stdout | from_json }}"
+
+ - name: build failure message
+ set_fact:
+ download_failure_msg: "{{ download_result.stdout }}"
+ when: download_result is failed
+
+ - name: write failure message to file
+ local_action: copy content="{{download_failure_msg}}" dest="{{inventory_dir}}/{{inventory_hostname}}_results.txt"
+ when: download_result is failed
+
+ - name: use result of downloadNESw as the result of Playbook
+ fail:
+ msg: "{{download_failure_msg}}"
+ when: download_result is failed
+
+ - name: fetch file of Notification notifyDownloadNESwStatusChanged
+ fetch:
+ dest: "{{inventory_dir}}"
+ src: "/tmp/notifyDownloadNESwStatusChanged-{{download_response.downloadProcessId}}"
+
+ - name: read contents of Notification notifyDownloadNESwStatusChanged
+ set_fact:
+ download_notification: "{{ lookup('file', '{{inventory_dir}}/{{inventory_hostname}}/tmp/notifyDownloadNESwStatusChanged-{{download_response.downloadProcessId}}') | from_json }}"
+
+ - name: delete file of Notification notifyDownloadNESwStatusChanged
+ local_action: file path="{{inventory_dir}}/{{inventory_hostname}}/tmp/notifyDownloadNESwStatusChanged-{{download_response.downloadProcessId}}" state=absent
+
+ - name: build success message
+ set_fact:
+ download_success_msg:
+ "result": "Success"
+ when: download_notification.downloadOperationStatus == "NE_SWDOWNLOAD_SUCCESSFUL"
+
+ - name: write success message to file
+ local_action: copy content="{{download_success_msg}}" dest="{{inventory_dir}}/{{inventory_hostname}}_results.txt"
+ when: download_notification.downloadOperationStatus == "NE_SWDOWNLOAD_SUCCESSFUL"
+
diff --git a/installation/src/main/properties/lcm-dg.properties b/installation/src/main/properties/lcm-dg.properties
index 53cecfba..d36fcf81 100644
--- a/installation/src/main/properties/lcm-dg.properties
+++ b/installation/src/main/properties/lcm-dg.properties
@@ -9,10 +9,14 @@ ansible.version=0.00
lcm.upgrade-pre-check.playbookname=ansible_precheck
lcm.upgrade-post-check.playbookname=ansible_postcheck
lcm.upgrade-software.playbookname=ansible_upgradesw
+lcm.download-ne-sw.playbookname=ansible_downloadnesw
+lcm.activate-ne-sw.playbookname=ansible_activatenesw
lcm.rollback.playbookname=ansible_rollback
lcm.pnf.upgrade-pre-check.playbookname=ansible_precheck_pnf
lcm.pnf.upgrade-post-check.playbookname=ansible_postcheck_pnf
lcm.pnf.upgrade-software.playbookname=ansible_upgradesw_pnf
+lcm.pnf.download-ne-sw.playbookname=ansible_huawei_downloadnesw
+lcm.pnf.activate-ne-sw.playbookname=ansible_huawei_activatenesw
lcm.pnf.rollback.playbookname=ansible_rollback_pnf
lcm.quiesce-traffic.playbookname=ansible_quiescetraffic
lcm.resume-traffic.playbookname=ansible_resumetraffic
diff --git a/platform-logic/lcm/src/main/json/LCM_activate-ne-sw.json b/platform-logic/lcm/src/main/json/LCM_activate-ne-sw.json
new file mode 100644
index 00000000..1db43dfa
--- /dev/null
+++ b/platform-logic/lcm/src/main/json/LCM_activate-ne-sw.json
@@ -0,0 +1,1156 @@
+[
+ {
+ "id": "7a48a318.a0c2cc",
+ "type": "method",
+ "name": "activate-ne-sw",
+ "xml": "<method rpc='activate-ne-sw' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 526.75,
+ "y": 59.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "43527cfb.50e584"
+ ]
+ ]
+ },
+ {
+ "id": "d50afa5f.773ec8",
+ "type": "service-logic",
+ "name": "LCM ${project.version}",
+ "module": "LCM",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<service-logic 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='LCM' version='${project.version}'>",
+ "outputs": 1,
+ "x": 314.74993896484375,
+ "y": 60.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "7a48a318.a0c2cc"
+ ]
+ ]
+ },
+ {
+ "id": "af9cc402.0df8d8",
+ "type": "execute",
+ "name": "execute AnsibleA.reqExec",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.adaptors.ansible.AnsibleAdapter' method='reqExec' >\n<parameter name='AgentUrl' value='`$prop.ansible.agenturl`'/>\n<parameter name='User' value='`$prop.ansible.user`'/>\n<parameter name='Password' value='`$prop.ansible.password`'/>\n<parameter name='LocalParameters' value='`$prop.ansible.lcm.localparameters`'/>\n<parameter name='EnvParameters' value='`$activate-ne-sw-input.payload`'/>\n<parameter name='NodeList' value=\"`$nodelist`\"/>\n<parameter name='Timeout' value='`$prop.ansible.timeout`'/>\n<parameter name='Version' value='`$prop.ansible.version`'/>\n<parameter name='Id' value='`$activate-ne-sw-input.common-header.request-id`'/>\n<parameter name='PlaybookName' value='`$playbookname`'/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 428.75001525878906,
+ "y": 706.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "bc344e40.d001e",
+ "6111417c.2bcf1",
+ "a9afb547.0ddf48"
+ ]
+ ]
+ },
+ {
+ "id": "7ec1fa09.313064",
+ "type": "switchNode",
+ "name": "switch",
+ "xml": "<switch test=\"`$org.onap.appc.adapter.ansible.result.code`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 828.7499389648438,
+ "y": 814.7500305175781,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "def0741f.7b54c8",
+ "21b40503.ea026a",
+ "8c342d0e.01d56"
+ ]
+ ]
+ },
+ {
+ "id": "def0741f.7b54c8",
+ "type": "other",
+ "name": "outcome 500",
+ "xml": "<outcome value='500'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 973.7499389648438,
+ "y": 812.7500381469727,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "975bc56b.8da928"
+ ]
+ ]
+ },
+ {
+ "id": "21b40503.ea026a",
+ "type": "other",
+ "name": "outcome 100",
+ "xml": "<outcome value='100'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 970.7499389648438,
+ "y": 869.7500305175781,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "fd635a04.514608"
+ ]
+ ]
+ },
+ {
+ "id": "fd635a04.514608",
+ "type": "execute",
+ "name": "execute reqExecResult",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.adaptors.ansible.AnsibleAdapter' method='reqExecResult' >\n <parameter name='AgentUrl' value='`$prop.ansible.agenturl`'/>\n\t<parameter name='User' value='`$prop.ansible.user`'/>\n\t<parameter name='Password' value='`$prop.ansible.password`'/>\n\t<parameter name='Id' value='`$org.onap.appc.adapter.ansible.Id`'/>\n\t<parameter name='PlaybookName' value='`$playbookname`'/>\n\t\n\n\n\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1158.7499389648438,
+ "y": 868.7500305175781,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "b6c762d8.0d3f4",
+ "78593085.dc6ad"
+ ]
+ ]
+ },
+ {
+ "id": "6111417c.2bcf1",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 687.7499389648438,
+ "y": 727.7500915527344,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "975bc56b.8da928"
+ ]
+ ]
+ },
+ {
+ "id": "bc344e40.d001e",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 689.7499389648438,
+ "y": 779.7500610351562,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "7ec1fa09.313064"
+ ]
+ ]
+ },
+ {
+ "id": "b6c762d8.0d3f4",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1327.7498779296875,
+ "y": 850.7500610351562,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "c84dc161.1f07e"
+ ]
+ ]
+ },
+ {
+ "id": "8c342d0e.01d56",
+ "type": "other",
+ "name": "outcome 101",
+ "xml": "<outcome value='101'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 970.7499389648438,
+ "y": 770.7500686645508,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "975bc56b.8da928"
+ ]
+ ]
+ },
+ {
+ "id": "78593085.dc6ad",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1331.7498779296875,
+ "y": 894.7501220703125,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "c84dc161.1f07e"
+ ]
+ ]
+ },
+ {
+ "id": "46414f65.12103",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 129.75,
+ "y": 59.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "d50afa5f.773ec8"
+ ]
+ ]
+ },
+ {
+ "id": "43527cfb.50e584",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 174.66669082641602,
+ "y": 210.83334636688232,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "af9cc402.0df8d8",
+ "d87b0bba.f7fa68",
+ "b68ece2.1e4193",
+ "8345e48f.70abe8",
+ "f8b2fbc0.6518d8",
+ "f46185cf.a1ee68",
+ "3c8e8586.56a77a",
+ "2f85a60c.ee77ca"
+ ]
+ ]
+ },
+ {
+ "id": "d87b0bba.f7fa68",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/lcm-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 472.7500305175781,
+ "y": 170.83334350585938,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "54ac459f.b652ac",
+ "type": "execute",
+ "name": "execute DmaapMsg",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\n <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />\n <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='POST' />\n <parameter name='contentType' value='application/json' />\n <parameter name=\"responsePrefix\" value=\"lcm\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1639.7498779296875,
+ "y": 676.8334045410156,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "766513f5.edd23c"
+ ]
+ ]
+ },
+ {
+ "id": "766513f5.edd23c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1809.7498168945312,
+ "y": 675.8334045410156,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "a502c1d2.11bac"
+ ]
+ ]
+ },
+ {
+ "id": "975bc56b.8da928",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1442.7498168945312,
+ "y": 700.8334045410156,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "54ac459f.b652ac",
+ "830eb37b.9f264",
+ "7ffa87f6.e152c8"
+ ]
+ ]
+ },
+ {
+ "id": "d644ce6f.1e8bc",
+ "type": "execute",
+ "name": "execute DmaapMsg",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\n <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />\n <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='POST' />\n <parameter name='contentType' value='application/json' />\n <parameter name=\"responsePrefix\" value=\"lcm\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1675.2498779296875,
+ "y": 942.8333740234375,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "9b9d77b5.691a98"
+ ]
+ ]
+ },
+ {
+ "id": "9b9d77b5.691a98",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1860.2498779296875,
+ "y": 942.8333740234375,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "7c4d044.899ebfc"
+ ]
+ ]
+ },
+ {
+ "id": "a502c1d2.11bac",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\"> \n\t<parameter name=\"logger\" value=\"message-log\"/> \n\t<parameter name=\"field1\" value='Failed to Publish to DMaap'/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1929.7498779296875,
+ "y": 674.8333740234375,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "830eb37b.9f264",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='status.code' value='401' />\n<parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\n",
+ "comments": "",
+ "x": 1621.66650390625,
+ "y": 727.8334045410156,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "7c4d044.899ebfc",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\"> \n\t<parameter name=\"logger\" value=\"message-log\"/> \n\t<parameter name=\"field1\" value='Failed to Publish to DMaap'/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1992.6666259765625,
+ "y": 942.8333740234375,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7ffa87f6.e152c8",
+ "type": "set",
+ "name": "set DmaapReq",
+ "xml": "<set>\n<parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\n<parameter name='lcm-dmaap.correlation-id' value=\"`$activate-ne-sw-input.common-header.request-id + '-' + $activate-ne-sw-input.common-header.sub-request-id`\"/>\n<parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\n<parameter name='lcm-dmaap.rpc-name' value='activate-ne-sw'/>\n<parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\n<parameter name='lcm-dmaap.timestamp' value='`$activate-ne-sw-input.common-header.timestamp`'/>\n<parameter name='lcm-dmaap.api-ver' value='`$activate-ne-sw-input.common-header.api-ver`'/>\n<parameter name='lcm-dmaap.originator-id' value='`$activate-ne-sw-input.common-header.originator-id`'/>\n<parameter name='lcm-dmaap.request-id' value='`$activate-ne-sw-input.common-header.request-id`'/>\n<parameter name='lcm-dmaap.sub-request-id' value='`$activate-ne-sw-input.common-header.sub-request-id`'/>\n<parameter name='lcm-dmaap.flags.mode' value='`$activate-ne-sw-input.common-header.flags.mode`'/>\n<parameter name='lcm-dmaap.flags.force' value='`$activate-ne-sw-input.common-header.flags.force`'/>\n<parameter name='lcm-dmaap.flags.ttl' value='`$activate-ne-sw-input.common-header.flags.ttl`'/>\n<parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\n<parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\n",
+ "comments": "",
+ "x": 1626.7498779296875,
+ "y": 623.8333740234375,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "c84dc161.1f07e",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1463.7498779296875,
+ "y": 869.8333740234375,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "d644ce6f.1e8bc",
+ "e02d564.53570a8",
+ "8a07c86f.108db8",
+ "ad3c8533.605f78",
+ "630cb023.71cae",
+ "c2b9b6ea.5a9d68"
+ ]
+ ]
+ },
+ {
+ "id": "c2b9b6ea.5a9d68",
+ "type": "set",
+ "name": "set DmaapReq",
+ "xml": "<set>\n<parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\n<parameter name='lcm-dmaap.correlation-id' value=\"`$activate-ne-sw-input.common-header.request-id + '-' + $activate-ne-sw-input.common-header.sub-request-id`\"/>\n<parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\n<parameter name='lcm-dmaap.rpc-name' value='activate-ne-sw'/>\n<parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\n<parameter name='lcm-dmaap.timestamp' value='`$activate-ne-sw-input.common-header.timestamp`'/>\n<parameter name='lcm-dmaap.api-ver' value='`$activate-ne-sw-input.common-header.api-ver`'/>\n<parameter name='lcm-dmaap.originator-id' value='`$activate-ne-sw-input.common-header.originator-id`'/>\n<parameter name='lcm-dmaap.request-id' value='`$activate-ne-sw-input.common-header.request-id`'/>\n<parameter name='lcm-dmaap.sub-request-id' value='`$activate-ne-sw-input.common-header.sub-request-id`'/>\n<parameter name='lcm-dmaap.flags.mode' value='`$activate-ne-sw-input.common-header.flags.mode`'/>\n<parameter name='lcm-dmaap.flags.force' value='`$activate-ne-sw-input.common-header.flags.force`'/>\n<parameter name='lcm-dmaap.flags.ttl' value='`$activate-ne-sw-input.common-header.flags.ttl`'/>\n<parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\n<parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\n",
+ "comments": "",
+ "x": 1661.9166564941406,
+ "y": 856.5833864212036,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "a9afb547.0ddf48",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 696.7499389648438,
+ "y": 679.7500610351562,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "f0c42ba4.b67c68"
+ ]
+ ]
+ },
+ {
+ "id": "8b382fc0.d0fb6",
+ "type": "set",
+ "name": "set Defaults",
+ "xml": "<set>\n<parameter name='org.onap.appc.adapter.ansible.result.code' value='401'/>\n<parameter name='org.onap.appc.adapter.ansible.message' value='Ansible Adapter was not found'/>\n",
+ "comments": "",
+ "x": 987.7499389648438,
+ "y": 638.75,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "f0c42ba4.b67c68",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 833.7499389648438,
+ "y": 673.7500610351562,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "8b382fc0.d0fb6",
+ "975bc56b.8da928"
+ ]
+ ]
+ },
+ {
+ "id": "b68ece2.1e4193",
+ "type": "set",
+ "name": "set default values",
+ "xml": "<set>\n<parameter name='status.code' value='200' />\n<parameter name='status.message' value='unexpected return from DG' />\n<parameter name='quote' value=\"'\" />\n<parameter name='outputPayloadField' value='.Output' />\n",
+ "comments": "",
+ "x": 465.75,
+ "y": 217.75,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "da55f644.1843a8",
+ "type": "get-resource",
+ "name": "get aai.generic-vnf ",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"generic-vnf\" \n\t\tkey=\"generic-vnf.vnf-id = $activate-ne-sw-input.action-identifiers.vnf-id\" \n\t\tlocal-only=\"false\" \n\t\tpfx='aai.generic-vnf'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1005.75,
+ "y": 446.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "241297eb.3bb928"
+ ]
+ ]
+ },
+ {
+ "id": "241297eb.3bb928",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1164.1407470703125,
+ "y": 445.03399658203125,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "cfa2f0b.fb44f1"
+ ]
+ ]
+ },
+ {
+ "id": "3c8e8586.56a77a",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\"> \n\t<parameter name=\"logger\" value=\"message-log\"/> \n\t<parameter name=\"field1\" value='`$playbookname`'/>\n\t<parameter name=\"field2\" value='`$nodelist`'/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 394.7498779296875,
+ "y": 634.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f8b2fbc0.6518d8",
+ "type": "switchNode",
+ "name": "switch pnf-flag",
+ "xml": "<switch test='`$payloadJson.pnf-flag`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 451.50000762939453,
+ "y": 365.5000057220459,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "46ff267a.c90aa8",
+ "bde8f6f0.e6c498"
+ ]
+ ]
+ },
+ {
+ "id": "8345e48f.70abe8",
+ "type": "execute",
+ "name": "execute jsonStringToCtx",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>\n\t<parameter name='source' value='activate-ne-sw-input.payload' />\n\t<parameter name='outputPath' value='payloadJson' />\n\t<parameter name='isEscaped' value='true' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 479.75,
+ "y": 264.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "46ff267a.c90aa8",
+ "type": "outcome",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 636.0000076293945,
+ "y": 309.5000057220459,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "f3966cc8.0da64"
+ ]
+ ]
+ },
+ {
+ "id": "bde8f6f0.e6c498",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 638.4999465942383,
+ "y": 417.2500057220459,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "d3bb6a51.85d388"
+ ]
+ ]
+ },
+ {
+ "id": "d3bb6a51.85d388",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 792.7499504089355,
+ "y": 418.2500057220459,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "da55f644.1843a8",
+ "45bfd380.dd46ec"
+ ]
+ ]
+ },
+ {
+ "id": "56157871.379218",
+ "type": "set",
+ "name": "set AnsibleReq",
+ "xml": "<set>\n<parameter name='nodelist' value=\"`'[' + $quote + $payloadJson.ipaddress-v4-oam + $quote + ']'`\"/>\n<parameter name='outputPayloadField' value=\"`'.' + $payloadJson.ipaddress-v4-oam + '.Output'`\"/>\n",
+ "comments": "",
+ "x": 963.2500152587891,
+ "y": 217.50000381469727,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "45bfd380.dd46ec",
+ "type": "execute",
+ "name": "set playbookname",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\n\t<parameter name='outputPath' value='playbookname' />\n\t<parameter name='source' value=\"`'prop.lcm.' + $payloadJson.nf-naming-code + '.activate-ne-sw.playbookname'`\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1014.75,
+ "y": 390.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f46185cf.a1ee68",
+ "type": "switchNode",
+ "name": "switch playbookname",
+ "xml": "<switch test='`$playbookname`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 444.75,
+ "y": 502.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "5a90bdd7.42d5d4"
+ ]
+ ]
+ },
+ {
+ "id": "5a90bdd7.42d5d4",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 615.75,
+ "y": 503.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "731bf1bc.6221a"
+ ]
+ ]
+ },
+ {
+ "id": "731bf1bc.6221a",
+ "type": "set",
+ "name": "set playbookname",
+ "xml": "<set>\n<parameter name='playbookname' value='`$prop.lcm.activate-ne-sw.playbookname`'/>",
+ "comments": "",
+ "x": 805.75,
+ "y": 502.75,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "2f85a60c.ee77ca",
+ "type": "switchNode",
+ "name": "switch nodelist",
+ "xml": "<switch test='`$nodelist`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 434.75,
+ "y": 561.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "9d065183.934a9",
+ "192e9813.2964f8"
+ ]
+ ]
+ },
+ {
+ "id": "9d065183.934a9",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 614.75,
+ "y": 554.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "8d09887f.874398"
+ ]
+ ]
+ },
+ {
+ "id": "8d09887f.874398",
+ "type": "set",
+ "name": "set nodelist",
+ "xml": "<set>\n<parameter name='nodelist' value=\"`$prop.ansible.nodelist`\"/>",
+ "comments": "",
+ "x": 771.75,
+ "y": 568.75,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "192e9813.2964f8",
+ "type": "outcome",
+ "name": "empty",
+ "xml": "<outcome value=\"['']\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 613.75,
+ "y": 598.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "8d09887f.874398"
+ ]
+ ]
+ },
+ {
+ "id": "9162780a.f8e268",
+ "type": "switchNode",
+ "name": "switch playbookname",
+ "xml": "<switch test='`$playbookname`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1489.75,
+ "y": 433.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "81b68614.728d88"
+ ]
+ ]
+ },
+ {
+ "id": "81b68614.728d88",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1667.75,
+ "y": 433.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "b348096f.426488"
+ ]
+ ]
+ },
+ {
+ "id": "8c8f231.2f3fce",
+ "type": "set",
+ "name": "set nodelist",
+ "xml": "<set>\n<parameter name='nodelist' value=\"`'[' + $quote + $aai.generic-vnf.ipv4-oam-address + $quote + ']'`\"/>\n",
+ "comments": "",
+ "x": 1462.75,
+ "y": 486.75,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "cfa2f0b.fb44f1",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1292.75,
+ "y": 443.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "9162780a.f8e268",
+ "8c8f231.2f3fce"
+ ]
+ ]
+ },
+ {
+ "id": "b348096f.426488",
+ "type": "execute",
+ "name": "set playbookname",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\n\t<parameter name='outputPath' value='playbookname' />\n\t<parameter name='source' value=\"`'prop.lcm.' + $aai.generic-vnf.nf-naming-code + '.activate-ne-sw.playbookname'`\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1839.75,
+ "y": 431.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e02d564.53570a8",
+ "type": "execute",
+ "name": "execute jsonStringToCtx",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>\n\t<parameter name='source' value='org.onap.appc.adapter.ansible.results' />\n\t<parameter name='outputPath' value='resultsJson' />\n\t<parameter name='isEscaped' value='false' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1689.75,
+ "y": 775.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8a07c86f.108db8",
+ "type": "execute",
+ "name": "execute getAttributeValue",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\n\t<parameter name='source' value=\"`'resultsJson' + $outputPayloadField`\" />\n\t<parameter name='outputPath' value='outputPayload' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1695.75,
+ "y": 820.75,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ad3c8533.605f78",
+ "type": "switchNode",
+ "name": "switch outputPayload",
+ "xml": "<switch test='`$outputPayload`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1681.7500228881836,
+ "y": 896.5000133514404,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "2f6e08da.3db698"
+ ]
+ ]
+ },
+ {
+ "id": "2f6e08da.3db698",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1855.7500267028809,
+ "y": 896.7500133514404,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "fb256275.6342b"
+ ]
+ ]
+ },
+ {
+ "id": "fb256275.6342b",
+ "type": "set",
+ "name": "set DmaapReq with payload",
+ "xml": "<set>\n<parameter name='lcm-dmaap.payload' value='`$outputPayload`'/>",
+ "comments": "",
+ "x": 2054.000030517578,
+ "y": 897.2500133514404,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "6841a778.ad0de8",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\n<parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>",
+ "comments": "",
+ "x": 2392.75,
+ "y": 978.7499389648438,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "f60442ca.cb989",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1858.750244140625,
+ "y": 1000.7498779296875,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "2e5e9fe5.78981"
+ ]
+ ]
+ },
+ {
+ "id": "8462a034.c9b29",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1857.750244140625,
+ "y": 1076.7498779296875,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "bf2e605d.23ecf"
+ ]
+ ]
+ },
+ {
+ "id": "630cb023.71cae",
+ "type": "switchNode",
+ "name": "switch outputPayload",
+ "xml": "<switch test='`$outputPayload`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1675.750244140625,
+ "y": 1036.7498779296875,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "f60442ca.cb989",
+ "8462a034.c9b29"
+ ]
+ ]
+ },
+ {
+ "id": "bf013ab1.1fb0d8",
+ "type": "returnSuccess",
+ "name": "return success with payload",
+ "xml": "<return status='success'>\n<parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\n<parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\n<parameter name='payload' value='`$outputPayload`'/>",
+ "comments": "",
+ "x": 2433.750244140625,
+ "y": 1060.7498779296875,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "2e5e9fe5.78981",
+ "type": "switchNode",
+ "name": "switch result code",
+ "xml": "<switch test=\"`$org.onap.appc.adapter.ansible.result.code`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2028.750244140625,
+ "y": 1000.7498779296875,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "be7efeac.4cf1",
+ "42860b2a.714e44"
+ ]
+ ]
+ },
+ {
+ "id": "bf2e605d.23ecf",
+ "type": "switchNode",
+ "name": "switch result code",
+ "xml": "<switch test=\"`$org.onap.appc.adapter.ansible.result.code`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2028.750244140625,
+ "y": 1076.7498779296875,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "8746a2f7.f50b9",
+ "10d01bab.10d144"
+ ]
+ ]
+ },
+ {
+ "id": "805a4622.d587c8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='status.code' value='401' />\n<parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\n",
+ "comments": "",
+ "x": 2386.750244140625,
+ "y": 1016.7498779296875,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "682174af.42791c",
+ "type": "returnFailure",
+ "name": "return failure with payload",
+ "xml": "<return status='failure'>\n<parameter name='status.code' value='401' />\n<parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\n<parameter name='payload' value='`$outputPayload`'/>",
+ "comments": "",
+ "x": 2429.750244140625,
+ "y": 1098.7498779296875,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "be7efeac.4cf1",
+ "type": "other",
+ "name": "outcome 400",
+ "xml": "<outcome value='400'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2216.750244140625,
+ "y": 978.7498779296875,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "6841a778.ad0de8"
+ ]
+ ]
+ },
+ {
+ "id": "42860b2a.714e44",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2197.750244140625,
+ "y": 1016.7498779296875,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "805a4622.d587c8"
+ ]
+ ]
+ },
+ {
+ "id": "8746a2f7.f50b9",
+ "type": "other",
+ "name": "outcome 400",
+ "xml": "<outcome value='400'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2217.750244140625,
+ "y": 1060.7498779296875,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "bf013ab1.1fb0d8"
+ ]
+ ]
+ },
+ {
+ "id": "10d01bab.10d144",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2199.750244140625,
+ "y": 1098.7498779296875,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "682174af.42791c"
+ ]
+ ]
+ },
+ {
+ "id": "f3966cc8.0da64",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 795.0000114440918,
+ "y": 268.00000381469727,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "56157871.379218",
+ "9e4ffafa.75a808"
+ ]
+ ]
+ },
+ {
+ "id": "9e4ffafa.75a808",
+ "type": "switchNode",
+ "name": "switch playbook-name in req",
+ "xml": "<switch test='`$payloadJson.playbook-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1001.2500133514404,
+ "y": 312.50000381469727,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "ba1ac3af.ccabe",
+ "2e2bb815.cefac8"
+ ]
+ ]
+ },
+ {
+ "id": "ba1ac3af.ccabe",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1208.7500190734863,
+ "y": 276.25000381469727,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "c5a71ca3.66b2f"
+ ]
+ ]
+ },
+ {
+ "id": "2e2bb815.cefac8",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1207.5000228881836,
+ "y": 341.25000381469727,
+ "z": "80e400ee.d5d12",
+ "wires": [
+ [
+ "bcca1cae.d0d1b"
+ ]
+ ]
+ },
+ {
+ "id": "c5a71ca3.66b2f",
+ "type": "set",
+ "name": "set playbookname from prop",
+ "xml": "<set>\n<parameter name='playbookname' value='`$prop.lcm.pnf.activate-ne-sw.playbookname`'/>\n",
+ "comments": "",
+ "x": 1411.2500228881836,
+ "y": 276.25000381469727,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ },
+ {
+ "id": "bcca1cae.d0d1b",
+ "type": "set",
+ "name": "set playbookname from req",
+ "xml": "<set>\n<parameter name='playbookname' value='`$payloadJson.playbook-name`'/>\n",
+ "comments": "",
+ "x": 1406.2500228881836,
+ "y": 341.25000381469727,
+ "z": "80e400ee.d5d12",
+ "wires": []
+ }
+] \ No newline at end of file
diff --git a/platform-logic/lcm/src/main/json/LCM_download-ne-sw.json b/platform-logic/lcm/src/main/json/LCM_download-ne-sw.json
new file mode 100644
index 00000000..62532b53
--- /dev/null
+++ b/platform-logic/lcm/src/main/json/LCM_download-ne-sw.json
@@ -0,0 +1,1156 @@
+[
+ {
+ "id": "55ea77c7.c7aaf8",
+ "type": "method",
+ "name": "download-ne-sw",
+ "xml": "<method rpc='download-ne-sw' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 517.5,
+ "y": 82.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "2b509841.1bb1b8"
+ ]
+ ]
+ },
+ {
+ "id": "f860454e.516f68",
+ "type": "service-logic",
+ "name": "LCM ${project.version}",
+ "module": "LCM",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<service-logic 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='LCM' version='${project.version}'>",
+ "outputs": 1,
+ "x": 305.49993896484375,
+ "y": 83.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "55ea77c7.c7aaf8"
+ ]
+ ]
+ },
+ {
+ "id": "3c12dd23.f55fc2",
+ "type": "execute",
+ "name": "execute AnsibleA.reqExec",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.adaptors.ansible.AnsibleAdapter' method='reqExec' >\n<parameter name='AgentUrl' value='`$prop.ansible.agenturl`'/>\n<parameter name='User' value='`$prop.ansible.user`'/>\n<parameter name='Password' value='`$prop.ansible.password`'/>\n<parameter name='LocalParameters' value='`$prop.ansible.lcm.localparameters`'/>\n<parameter name='EnvParameters' value='`$download-ne-sw-input.payload`'/>\n<parameter name='NodeList' value=\"`$nodelist`\"/>\n<parameter name='Timeout' value='`$prop.ansible.timeout`'/>\n<parameter name='Version' value='`$prop.ansible.version`'/>\n<parameter name='Id' value='`$download-ne-sw-input.common-header.request-id`'/>\n<parameter name='PlaybookName' value='`$playbookname`'/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 419.50001525878906,
+ "y": 729.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "702a1f7c.b1656",
+ "3466714f.c34fee",
+ "723fe3bb.3ebb6c"
+ ]
+ ]
+ },
+ {
+ "id": "1fbe29b8.79e9a6",
+ "type": "switchNode",
+ "name": "switch",
+ "xml": "<switch test=\"`$org.onap.appc.adapter.ansible.result.code`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 819.4999389648438,
+ "y": 837.5000305175781,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "e21bdb83.8c61a8",
+ "69412d2a.6002b4",
+ "e6c8aa89.6ba308"
+ ]
+ ]
+ },
+ {
+ "id": "e21bdb83.8c61a8",
+ "type": "other",
+ "name": "outcome 500",
+ "xml": "<outcome value='500'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 964.4999389648438,
+ "y": 835.5000381469727,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "6d845856.14a2d8"
+ ]
+ ]
+ },
+ {
+ "id": "69412d2a.6002b4",
+ "type": "other",
+ "name": "outcome 100",
+ "xml": "<outcome value='100'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 961.4999389648438,
+ "y": 892.5000305175781,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "fa5ccee2.129f2"
+ ]
+ ]
+ },
+ {
+ "id": "fa5ccee2.129f2",
+ "type": "execute",
+ "name": "execute reqExecResult",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.adaptors.ansible.AnsibleAdapter' method='reqExecResult' >\n <parameter name='AgentUrl' value='`$prop.ansible.agenturl`'/>\n\t<parameter name='User' value='`$prop.ansible.user`'/>\n\t<parameter name='Password' value='`$prop.ansible.password`'/>\n\t<parameter name='Id' value='`$org.onap.appc.adapter.ansible.Id`'/>\n\t<parameter name='PlaybookName' value='`$playbookname`'/>\n\t\n\n\n\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1149.4999389648438,
+ "y": 891.5000305175781,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "d24bd12c.3cee7",
+ "a5a12b22.9ef4c8"
+ ]
+ ]
+ },
+ {
+ "id": "3466714f.c34fee",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 678.4999389648438,
+ "y": 750.5000915527344,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "6d845856.14a2d8"
+ ]
+ ]
+ },
+ {
+ "id": "702a1f7c.b1656",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 680.4999389648438,
+ "y": 802.5000610351562,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "1fbe29b8.79e9a6"
+ ]
+ ]
+ },
+ {
+ "id": "d24bd12c.3cee7",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1318.4998779296875,
+ "y": 873.5000610351562,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "5c41d4da.af8bdc"
+ ]
+ ]
+ },
+ {
+ "id": "e6c8aa89.6ba308",
+ "type": "other",
+ "name": "outcome 101",
+ "xml": "<outcome value='101'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 961.4999389648438,
+ "y": 793.5000686645508,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "6d845856.14a2d8"
+ ]
+ ]
+ },
+ {
+ "id": "a5a12b22.9ef4c8",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1322.4998779296875,
+ "y": 917.5001220703125,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "5c41d4da.af8bdc"
+ ]
+ ]
+ },
+ {
+ "id": "aed237db.c85d98",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 120.5,
+ "y": 82.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "f860454e.516f68"
+ ]
+ ]
+ },
+ {
+ "id": "2b509841.1bb1b8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 165.41669082641602,
+ "y": 233.58334636688232,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "3c12dd23.f55fc2",
+ "d8d13cba.ced29",
+ "d57bc3f1.44367",
+ "b01a324f.c5221",
+ "ef479112.da0ef",
+ "abcb3779.7bf4c8",
+ "78e77692.545348",
+ "3d9fed7.7ae0b12"
+ ]
+ ]
+ },
+ {
+ "id": "d8d13cba.ced29",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/lcm-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 463.5000305175781,
+ "y": 193.58334350585938,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "59c76955.33a148",
+ "type": "execute",
+ "name": "execute DmaapMsg",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\n <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />\n <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='POST' />\n <parameter name='contentType' value='application/json' />\n <parameter name=\"responsePrefix\" value=\"lcm\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1630.4998779296875,
+ "y": 699.5834045410156,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "1e820140.09a68f"
+ ]
+ ]
+ },
+ {
+ "id": "1e820140.09a68f",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1800.4998168945312,
+ "y": 698.5834045410156,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "5d139413.0e125c"
+ ]
+ ]
+ },
+ {
+ "id": "6d845856.14a2d8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1433.4998168945312,
+ "y": 723.5834045410156,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "59c76955.33a148",
+ "f23fc981.deb168",
+ "ef1fd87.e819d28"
+ ]
+ ]
+ },
+ {
+ "id": "3be21092.8cfeb",
+ "type": "execute",
+ "name": "execute DmaapMsg",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\n <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />\n <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='POST' />\n <parameter name='contentType' value='application/json' />\n <parameter name=\"responsePrefix\" value=\"lcm\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1665.9998779296875,
+ "y": 965.5833740234375,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "6fc43c73.d4fad4"
+ ]
+ ]
+ },
+ {
+ "id": "6fc43c73.d4fad4",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1850.9998779296875,
+ "y": 965.5833740234375,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "3fb5d721.f40458"
+ ]
+ ]
+ },
+ {
+ "id": "5d139413.0e125c",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\"> \n\t<parameter name=\"logger\" value=\"message-log\"/> \n\t<parameter name=\"field1\" value='Failed to Publish to DMaap'/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1920.4998779296875,
+ "y": 697.5833740234375,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f23fc981.deb168",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='status.code' value='401' />\n<parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\n",
+ "comments": "",
+ "x": 1612.41650390625,
+ "y": 750.5834045410156,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "3fb5d721.f40458",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\"> \n\t<parameter name=\"logger\" value=\"message-log\"/> \n\t<parameter name=\"field1\" value='Failed to Publish to DMaap'/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1983.4166259765625,
+ "y": 965.5833740234375,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ef1fd87.e819d28",
+ "type": "set",
+ "name": "set DmaapReq",
+ "xml": "<set>\n<parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\n<parameter name='lcm-dmaap.correlation-id' value=\"`$download-ne-sw-input.common-header.request-id + '-' + $download-ne-sw-input.common-header.sub-request-id`\"/>\n<parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\n<parameter name='lcm-dmaap.rpc-name' value='download-ne-sw'/>\n<parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\n<parameter name='lcm-dmaap.timestamp' value='`$download-ne-sw-input.common-header.timestamp`'/>\n<parameter name='lcm-dmaap.api-ver' value='`$download-ne-sw-input.common-header.api-ver`'/>\n<parameter name='lcm-dmaap.originator-id' value='`$download-ne-sw-input.common-header.originator-id`'/>\n<parameter name='lcm-dmaap.request-id' value='`$download-ne-sw-input.common-header.request-id`'/>\n<parameter name='lcm-dmaap.sub-request-id' value='`$download-ne-sw-input.common-header.sub-request-id`'/>\n<parameter name='lcm-dmaap.flags.mode' value='`$download-ne-sw-input.common-header.flags.mode`'/>\n<parameter name='lcm-dmaap.flags.force' value='`$download-ne-sw-input.common-header.flags.force`'/>\n<parameter name='lcm-dmaap.flags.ttl' value='`$download-ne-sw-input.common-header.flags.ttl`'/>\n<parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\n<parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\n",
+ "comments": "",
+ "x": 1617.4998779296875,
+ "y": 646.5833740234375,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "5c41d4da.af8bdc",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1454.4998779296875,
+ "y": 892.5833740234375,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "3be21092.8cfeb",
+ "a47cc713.5015a8",
+ "f12f37dc.2169f8",
+ "bdc86fd1.79a2a",
+ "c109396a.17fb38",
+ "f3261d43.39148"
+ ]
+ ]
+ },
+ {
+ "id": "f3261d43.39148",
+ "type": "set",
+ "name": "set DmaapReq",
+ "xml": "<set>\n<parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\n<parameter name='lcm-dmaap.correlation-id' value=\"`$download-ne-sw-input.common-header.request-id + '-' + $download-ne-sw-input.common-header.sub-request-id`\"/>\n<parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\n<parameter name='lcm-dmaap.rpc-name' value='download-ne-sw'/>\n<parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\n<parameter name='lcm-dmaap.timestamp' value='`$download-ne-sw-input.common-header.timestamp`'/>\n<parameter name='lcm-dmaap.api-ver' value='`$download-ne-sw-input.common-header.api-ver`'/>\n<parameter name='lcm-dmaap.originator-id' value='`$download-ne-sw-input.common-header.originator-id`'/>\n<parameter name='lcm-dmaap.request-id' value='`$download-ne-sw-input.common-header.request-id`'/>\n<parameter name='lcm-dmaap.sub-request-id' value='`$download-ne-sw-input.common-header.sub-request-id`'/>\n<parameter name='lcm-dmaap.flags.mode' value='`$download-ne-sw-input.common-header.flags.mode`'/>\n<parameter name='lcm-dmaap.flags.force' value='`$download-ne-sw-input.common-header.flags.force`'/>\n<parameter name='lcm-dmaap.flags.ttl' value='`$download-ne-sw-input.common-header.flags.ttl`'/>\n<parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\n<parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\n",
+ "comments": "",
+ "x": 1652.6666564941406,
+ "y": 879.3333864212036,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "723fe3bb.3ebb6c",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 687.4999389648438,
+ "y": 702.5000610351562,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "e40ab4bf.ad59c8"
+ ]
+ ]
+ },
+ {
+ "id": "c9fdb891.fe1038",
+ "type": "set",
+ "name": "set Defaults",
+ "xml": "<set>\n<parameter name='org.onap.appc.adapter.ansible.result.code' value='401'/>\n<parameter name='org.onap.appc.adapter.ansible.message' value='Ansible Adapter was not found'/>\n",
+ "comments": "",
+ "x": 978.4999389648438,
+ "y": 661.5,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "e40ab4bf.ad59c8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 824.4999389648438,
+ "y": 696.5000610351562,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "c9fdb891.fe1038",
+ "6d845856.14a2d8"
+ ]
+ ]
+ },
+ {
+ "id": "d57bc3f1.44367",
+ "type": "set",
+ "name": "set default values",
+ "xml": "<set>\n<parameter name='status.code' value='200' />\n<parameter name='status.message' value='unexpected return from DG' />\n<parameter name='quote' value=\"'\" />\n<parameter name='outputPayloadField' value='.Output' />\n",
+ "comments": "",
+ "x": 456.5,
+ "y": 240.5,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "2ec58c40.3b0264",
+ "type": "get-resource",
+ "name": "get aai.generic-vnf ",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"generic-vnf\" \n\t\tkey=\"generic-vnf.vnf-id = $download-ne-sw-input.action-identifiers.vnf-id\" \n\t\tlocal-only=\"false\" \n\t\tpfx='aai.generic-vnf'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 996.5,
+ "y": 469.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "1ec47fcb.d5d72"
+ ]
+ ]
+ },
+ {
+ "id": "1ec47fcb.d5d72",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1154.8907470703125,
+ "y": 467.78399658203125,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "965c2b6a.d85768"
+ ]
+ ]
+ },
+ {
+ "id": "78e77692.545348",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\"> \n\t<parameter name=\"logger\" value=\"message-log\"/> \n\t<parameter name=\"field1\" value='`$playbookname`'/>\n\t<parameter name=\"field2\" value='`$nodelist`'/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 385.4998779296875,
+ "y": 657.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ef479112.da0ef",
+ "type": "switchNode",
+ "name": "switch pnf-flag",
+ "xml": "<switch test='`$payloadJson.pnf-flag`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 442.25000762939453,
+ "y": 388.2500057220459,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "4b54c828.c73518",
+ "a6d6b0bb.89982"
+ ]
+ ]
+ },
+ {
+ "id": "b01a324f.c5221",
+ "type": "execute",
+ "name": "execute jsonStringToCtx",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>\n\t<parameter name='source' value='download-ne-sw-input.payload' />\n\t<parameter name='outputPath' value='payloadJson' />\n\t<parameter name='isEscaped' value='true' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 470.5,
+ "y": 287.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4b54c828.c73518",
+ "type": "outcome",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 626.7500076293945,
+ "y": 332.2500057220459,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "a7c85df0.70769"
+ ]
+ ]
+ },
+ {
+ "id": "a6d6b0bb.89982",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 629.2499465942383,
+ "y": 440.0000057220459,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "66a07516.de565c"
+ ]
+ ]
+ },
+ {
+ "id": "66a07516.de565c",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 783.4999504089355,
+ "y": 441.0000057220459,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "2ec58c40.3b0264",
+ "413ce905.d63568"
+ ]
+ ]
+ },
+ {
+ "id": "a51744cb.1eab38",
+ "type": "set",
+ "name": "set AnsibleReq",
+ "xml": "<set>\n<parameter name='nodelist' value=\"`'[' + $quote + $payloadJson.ipaddress-v4-oam + $quote + ']'`\"/>\n<parameter name='outputPayloadField' value=\"`'.' + $payloadJson.ipaddress-v4-oam + '.Output'`\"/>\n",
+ "comments": "",
+ "x": 954.0000152587891,
+ "y": 240.25000381469727,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "413ce905.d63568",
+ "type": "execute",
+ "name": "set playbookname",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\n\t<parameter name='outputPath' value='playbookname' />\n\t<parameter name='source' value=\"`'prop.lcm.' + $payloadJson.nf-naming-code + '.download-ne-sw.playbookname'`\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1005.5,
+ "y": 413.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "abcb3779.7bf4c8",
+ "type": "switchNode",
+ "name": "switch playbookname",
+ "xml": "<switch test='`$playbookname`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 435.5,
+ "y": 525.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "e39a2e5d.f73e8"
+ ]
+ ]
+ },
+ {
+ "id": "e39a2e5d.f73e8",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 606.5,
+ "y": 526.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "8b7cb986.cf8ca8"
+ ]
+ ]
+ },
+ {
+ "id": "8b7cb986.cf8ca8",
+ "type": "set",
+ "name": "set playbookname",
+ "xml": "<set>\n<parameter name='playbookname' value='`$prop.lcm.download-ne-sw.playbookname`'/>",
+ "comments": "",
+ "x": 796.5,
+ "y": 525.5,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "3d9fed7.7ae0b12",
+ "type": "switchNode",
+ "name": "switch nodelist",
+ "xml": "<switch test='`$nodelist`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 425.5,
+ "y": 584.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "59f5a5a3.47579c",
+ "4921ac90.8db2d4"
+ ]
+ ]
+ },
+ {
+ "id": "59f5a5a3.47579c",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 605.5,
+ "y": 577.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "573f641a.cee56c"
+ ]
+ ]
+ },
+ {
+ "id": "573f641a.cee56c",
+ "type": "set",
+ "name": "set nodelist",
+ "xml": "<set>\n<parameter name='nodelist' value=\"`$prop.ansible.nodelist`\"/>",
+ "comments": "",
+ "x": 762.5,
+ "y": 591.5,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "4921ac90.8db2d4",
+ "type": "outcome",
+ "name": "empty",
+ "xml": "<outcome value=\"['']\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 604.5,
+ "y": 621.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "573f641a.cee56c"
+ ]
+ ]
+ },
+ {
+ "id": "1d44a807.979a68",
+ "type": "switchNode",
+ "name": "switch playbookname",
+ "xml": "<switch test='`$playbookname`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1480.5,
+ "y": 456.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "fa1ad15d.05e4f"
+ ]
+ ]
+ },
+ {
+ "id": "fa1ad15d.05e4f",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1658.5,
+ "y": 456.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "bb5ab3e9.32bfe"
+ ]
+ ]
+ },
+ {
+ "id": "d971b27c.85ffb",
+ "type": "set",
+ "name": "set nodelist",
+ "xml": "<set>\n<parameter name='nodelist' value=\"`'[' + $quote + $aai.generic-vnf.ipv4-oam-address + $quote + ']'`\"/>\n",
+ "comments": "",
+ "x": 1453.5,
+ "y": 509.5,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "965c2b6a.d85768",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1283.5,
+ "y": 466.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "1d44a807.979a68",
+ "d971b27c.85ffb"
+ ]
+ ]
+ },
+ {
+ "id": "bb5ab3e9.32bfe",
+ "type": "execute",
+ "name": "set playbookname",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\n\t<parameter name='outputPath' value='playbookname' />\n\t<parameter name='source' value=\"`'prop.lcm.' + $aai.generic-vnf.nf-naming-code + '.download-ne-sw.playbookname'`\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1830.5,
+ "y": 454.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a47cc713.5015a8",
+ "type": "execute",
+ "name": "execute jsonStringToCtx",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>\n\t<parameter name='source' value='org.onap.appc.adapter.ansible.results' />\n\t<parameter name='outputPath' value='resultsJson' />\n\t<parameter name='isEscaped' value='false' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1680.5,
+ "y": 798.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f12f37dc.2169f8",
+ "type": "execute",
+ "name": "execute getAttributeValue",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\n\t<parameter name='source' value=\"`'resultsJson' + $outputPayloadField`\" />\n\t<parameter name='outputPath' value='outputPayload' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1686.5,
+ "y": 843.5,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "bdc86fd1.79a2a",
+ "type": "switchNode",
+ "name": "switch outputPayload",
+ "xml": "<switch test='`$outputPayload`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1672.5000228881836,
+ "y": 919.2500133514404,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "2f36dec8.740a42"
+ ]
+ ]
+ },
+ {
+ "id": "2f36dec8.740a42",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1846.5000267028809,
+ "y": 919.5000133514404,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "853dae30.016ee"
+ ]
+ ]
+ },
+ {
+ "id": "853dae30.016ee",
+ "type": "set",
+ "name": "set DmaapReq with payload",
+ "xml": "<set>\n<parameter name='lcm-dmaap.payload' value='`$outputPayload`'/>",
+ "comments": "",
+ "x": 2044.7500305175781,
+ "y": 920.0000133514404,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "5c7715ed.9be92c",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\n<parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>",
+ "comments": "",
+ "x": 2383.5,
+ "y": 1001.4999389648438,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "28c68fe3.efea9",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1849.500244140625,
+ "y": 1023.4998779296875,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "a9a9fe09.b61e3"
+ ]
+ ]
+ },
+ {
+ "id": "5d230e53.c839",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1848.500244140625,
+ "y": 1099.4998779296875,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "dfd73a35.03cf08"
+ ]
+ ]
+ },
+ {
+ "id": "c109396a.17fb38",
+ "type": "switchNode",
+ "name": "switch outputPayload",
+ "xml": "<switch test='`$outputPayload`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1666.500244140625,
+ "y": 1059.4998779296875,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "28c68fe3.efea9",
+ "5d230e53.c839"
+ ]
+ ]
+ },
+ {
+ "id": "6c0f75e0.de0a7c",
+ "type": "returnSuccess",
+ "name": "return success with payload",
+ "xml": "<return status='success'>\n<parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\n<parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\n<parameter name='payload' value='`$outputPayload`'/>",
+ "comments": "",
+ "x": 2424.500244140625,
+ "y": 1083.4998779296875,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "a9a9fe09.b61e3",
+ "type": "switchNode",
+ "name": "switch result code",
+ "xml": "<switch test=\"`$org.onap.appc.adapter.ansible.result.code`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2019.500244140625,
+ "y": 1023.4998779296875,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "2a0478da.0a2cd8",
+ "75baaadd.3d42e4"
+ ]
+ ]
+ },
+ {
+ "id": "dfd73a35.03cf08",
+ "type": "switchNode",
+ "name": "switch result code",
+ "xml": "<switch test=\"`$org.onap.appc.adapter.ansible.result.code`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2019.500244140625,
+ "y": 1099.4998779296875,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "d0213f1f.6f647",
+ "8fe55255.6d458"
+ ]
+ ]
+ },
+ {
+ "id": "7779e202.96c07c",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='status.code' value='401' />\n<parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\n",
+ "comments": "",
+ "x": 2377.500244140625,
+ "y": 1039.4998779296875,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "31e7a133.6072ee",
+ "type": "returnFailure",
+ "name": "return failure with payload",
+ "xml": "<return status='failure'>\n<parameter name='status.code' value='401' />\n<parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\n<parameter name='payload' value='`$outputPayload`'/>",
+ "comments": "",
+ "x": 2420.500244140625,
+ "y": 1121.4998779296875,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "2a0478da.0a2cd8",
+ "type": "other",
+ "name": "outcome 400",
+ "xml": "<outcome value='400'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2207.500244140625,
+ "y": 1001.4998779296875,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "5c7715ed.9be92c"
+ ]
+ ]
+ },
+ {
+ "id": "75baaadd.3d42e4",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2188.500244140625,
+ "y": 1039.4998779296875,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "7779e202.96c07c"
+ ]
+ ]
+ },
+ {
+ "id": "d0213f1f.6f647",
+ "type": "other",
+ "name": "outcome 400",
+ "xml": "<outcome value='400'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2208.500244140625,
+ "y": 1083.4998779296875,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "6c0f75e0.de0a7c"
+ ]
+ ]
+ },
+ {
+ "id": "8fe55255.6d458",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2190.500244140625,
+ "y": 1121.4998779296875,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "31e7a133.6072ee"
+ ]
+ ]
+ },
+ {
+ "id": "a7c85df0.70769",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 785.7500114440918,
+ "y": 290.75000381469727,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "a51744cb.1eab38",
+ "43f4bcd8.6f59d4"
+ ]
+ ]
+ },
+ {
+ "id": "43f4bcd8.6f59d4",
+ "type": "switchNode",
+ "name": "switch playbook-name in req",
+ "xml": "<switch test='`$payloadJson.playbook-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 992.0000133514404,
+ "y": 335.25000381469727,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "8524b6c2.ab2718",
+ "c8dfea1c.562698"
+ ]
+ ]
+ },
+ {
+ "id": "8524b6c2.ab2718",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1199.5000190734863,
+ "y": 299.00000381469727,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "85b8a591.020658"
+ ]
+ ]
+ },
+ {
+ "id": "c8dfea1c.562698",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1198.2500228881836,
+ "y": 364.00000381469727,
+ "z": "aaefae8.7cdde5",
+ "wires": [
+ [
+ "33ec26fd.e2b39a"
+ ]
+ ]
+ },
+ {
+ "id": "85b8a591.020658",
+ "type": "set",
+ "name": "set playbookname from prop",
+ "xml": "<set>\n<parameter name='playbookname' value='`$prop.lcm.pnf.download-ne-sw.playbookname`'/>\n",
+ "comments": "",
+ "x": 1402.0000228881836,
+ "y": 299.00000381469727,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ },
+ {
+ "id": "33ec26fd.e2b39a",
+ "type": "set",
+ "name": "set playbookname from req",
+ "xml": "<set>\n<parameter name='playbookname' value='`$payloadJson.playbook-name`'/>\n",
+ "comments": "",
+ "x": 1397.0000228881836,
+ "y": 364.00000381469727,
+ "z": "aaefae8.7cdde5",
+ "wires": []
+ }
+] \ No newline at end of file
diff --git a/platform-logic/lcm/src/main/resources/graph.versions b/platform-logic/lcm/src/main/resources/graph.versions
index 40fe3a95..0da4e087 100644
--- a/platform-logic/lcm/src/main/resources/graph.versions
+++ b/platform-logic/lcm/src/main/resources/graph.versions
@@ -1,4 +1,6 @@
LCM upgrade-software ${project.version} sync
+LCM download-ne-sw ${project.version} sync
+LCM activate-ne-sw ${project.version} sync
LCM upgrade-post-check ${project.version} sync
LCM upgrade-pre-check ${project.version} sync
LCM upgrade-backup ${project.version} sync
diff --git a/platform-logic/lcm/src/main/xml/LCM_activate-ne-sw.xml b/platform-logic/lcm/src/main/xml/LCM_activate-ne-sw.xml
new file mode 100644
index 00000000..fe46a306
--- /dev/null
+++ b/platform-logic/lcm/src/main/xml/LCM_activate-ne-sw.xml
@@ -0,0 +1,471 @@
+<service-logic
+ 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='LCM' version='${project.version}'>
+ <method rpc='activate-ne-sw' mode='sync'>
+ <block>
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/lcm-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <set>
+ <parameter name='status.code' value='200' />
+ <parameter name='status.message' value='unexpected return from DG' />
+ <parameter name='quote' value="'" />
+ <parameter name='outputPayloadField' value='.Output' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>
+ <parameter name='source' value='activate-ne-sw-input.payload' />
+ <parameter name='outputPath' value='payloadJson' />
+ <parameter name='isEscaped' value='true' />
+ </execute>
+ <switch test='`$payloadJson.pnf-flag`'>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='nodelist' value="`'[' + $quote + $payloadJson.ipaddress-v4-oam + $quote + ']'`"/>
+ <parameter name='outputPayloadField' value="`'.' + $payloadJson.ipaddress-v4-oam + '.Output'`"/>
+ </set>
+ <switch test='`$payloadJson.playbook-name`'>
+ <outcome value=''>
+ <set>
+ <parameter name='playbookname' value='`$prop.lcm.pnf.activate-ne-sw.playbookname`'/>
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='playbookname' value='`$payloadJson.playbook-name`'/>
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
+ <parameter name='outputPath' value='playbookname' />
+ <parameter name='source' value="`'prop.lcm.' + $payloadJson.nf-naming-code + '.activate-ne-sw.playbookname'`" />
+ </execute>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $activate-ne-sw-input.action-identifiers.vnf-id"
+ local-only="false"
+ pfx='aai.generic-vnf'>
+ <outcome value='success'>
+ <block>
+ <switch test='`$playbookname`'>
+ <outcome value=''>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
+ <parameter name='outputPath' value='playbookname' />
+ <parameter name='source' value="`'prop.lcm.' + $aai.generic-vnf.nf-naming-code + '.activate-ne-sw.playbookname'`" />
+ </execute>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='nodelist' value="`'[' + $quote + $aai.generic-vnf.ipv4-oam-address + $quote + ']'`"/>
+ </set>
+ </block>
+ </outcome>
+ </get-resource>
+ </block>
+ </outcome>
+ </switch>
+ <switch test='`$playbookname`'>
+ <outcome value=''>
+ <set>
+ <parameter name='playbookname' value='`$prop.lcm.activate-ne-sw.playbookname`'/>
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$nodelist`'>
+ <outcome value=''>
+ <set>
+ <parameter name='nodelist' value="`$prop.ansible.nodelist`"/>
+ </set>
+ </outcome>
+ <outcome value="['']">
+ <set>
+ <parameter name='nodelist' value="`$prop.ansible.nodelist`"/>
+ </set>
+ </outcome>
+ </switch>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value='`$playbookname`'/>
+ <parameter name="field2" value='`$nodelist`'/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.adaptors.ansible.AnsibleAdapter' method='reqExec' >
+ <parameter name='AgentUrl' value='`$prop.ansible.agenturl`'/>
+ <parameter name='User' value='`$prop.ansible.user`'/>
+ <parameter name='Password' value='`$prop.ansible.password`'/>
+ <parameter name='LocalParameters' value='`$prop.ansible.lcm.localparameters`'/>
+ <parameter name='EnvParameters' value='`$activate-ne-sw-input.payload`'/>
+ <parameter name='NodeList' value="`$nodelist`"/>
+ <parameter name='Timeout' value='`$prop.ansible.timeout`'/>
+ <parameter name='Version' value='`$prop.ansible.version`'/>
+ <parameter name='Id' value='`$activate-ne-sw-input.common-header.request-id`'/>
+ <parameter name='PlaybookName' value='`$playbookname`'/>
+ <outcome value='not-found'>
+ <block>
+ <set>
+ <parameter name='org.onap.appc.adapter.ansible.result.code' value='401'/>
+ <parameter name='org.onap.appc.adapter.ansible.message' value='Ansible Adapter was not found'/>
+ </set>
+ <block>
+ <set>
+ <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>
+ <parameter name='lcm-dmaap.correlation-id' value="`$activate-ne-sw-input.common-header.request-id + '-' + $activate-ne-sw-input.common-header.sub-request-id`"/>
+ <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>
+ <parameter name='lcm-dmaap.rpc-name' value='activate-ne-sw'/>
+ <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>
+ <parameter name='lcm-dmaap.timestamp' value='`$activate-ne-sw-input.common-header.timestamp`'/>
+ <parameter name='lcm-dmaap.api-ver' value='`$activate-ne-sw-input.common-header.api-ver`'/>
+ <parameter name='lcm-dmaap.originator-id' value='`$activate-ne-sw-input.common-header.originator-id`'/>
+ <parameter name='lcm-dmaap.request-id' value='`$activate-ne-sw-input.common-header.request-id`'/>
+ <parameter name='lcm-dmaap.sub-request-id' value='`$activate-ne-sw-input.common-header.sub-request-id`'/>
+ <parameter name='lcm-dmaap.flags.mode' value='`$activate-ne-sw-input.common-header.flags.mode`'/>
+ <parameter name='lcm-dmaap.flags.force' value='`$activate-ne-sw-input.common-header.flags.force`'/>
+ <parameter name='lcm-dmaap.flags.ttl' value='`$activate-ne-sw-input.common-header.flags.ttl`'/>
+ <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />
+ <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />
+ <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name="responsePrefix" value="lcm" />
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value='Failed to Publish to DMaap'/>
+ </record>
+ </outcome>
+ </execute>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block>
+ <set>
+ <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>
+ <parameter name='lcm-dmaap.correlation-id' value="`$activate-ne-sw-input.common-header.request-id + '-' + $activate-ne-sw-input.common-header.sub-request-id`"/>
+ <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>
+ <parameter name='lcm-dmaap.rpc-name' value='activate-ne-sw'/>
+ <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>
+ <parameter name='lcm-dmaap.timestamp' value='`$activate-ne-sw-input.common-header.timestamp`'/>
+ <parameter name='lcm-dmaap.api-ver' value='`$activate-ne-sw-input.common-header.api-ver`'/>
+ <parameter name='lcm-dmaap.originator-id' value='`$activate-ne-sw-input.common-header.originator-id`'/>
+ <parameter name='lcm-dmaap.request-id' value='`$activate-ne-sw-input.common-header.request-id`'/>
+ <parameter name='lcm-dmaap.sub-request-id' value='`$activate-ne-sw-input.common-header.sub-request-id`'/>
+ <parameter name='lcm-dmaap.flags.mode' value='`$activate-ne-sw-input.common-header.flags.mode`'/>
+ <parameter name='lcm-dmaap.flags.force' value='`$activate-ne-sw-input.common-header.flags.force`'/>
+ <parameter name='lcm-dmaap.flags.ttl' value='`$activate-ne-sw-input.common-header.flags.ttl`'/>
+ <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />
+ <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />
+ <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name="responsePrefix" value="lcm" />
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value='Failed to Publish to DMaap'/>
+ </record>
+ </outcome>
+ </execute>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <switch test="`$org.onap.appc.adapter.ansible.result.code`">
+ <outcome value='101'>
+ <block>
+ <set>
+ <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>
+ <parameter name='lcm-dmaap.correlation-id' value="`$activate-ne-sw-input.common-header.request-id + '-' + $activate-ne-sw-input.common-header.sub-request-id`"/>
+ <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>
+ <parameter name='lcm-dmaap.rpc-name' value='activate-ne-sw'/>
+ <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>
+ <parameter name='lcm-dmaap.timestamp' value='`$activate-ne-sw-input.common-header.timestamp`'/>
+ <parameter name='lcm-dmaap.api-ver' value='`$activate-ne-sw-input.common-header.api-ver`'/>
+ <parameter name='lcm-dmaap.originator-id' value='`$activate-ne-sw-input.common-header.originator-id`'/>
+ <parameter name='lcm-dmaap.request-id' value='`$activate-ne-sw-input.common-header.request-id`'/>
+ <parameter name='lcm-dmaap.sub-request-id' value='`$activate-ne-sw-input.common-header.sub-request-id`'/>
+ <parameter name='lcm-dmaap.flags.mode' value='`$activate-ne-sw-input.common-header.flags.mode`'/>
+ <parameter name='lcm-dmaap.flags.force' value='`$activate-ne-sw-input.common-header.flags.force`'/>
+ <parameter name='lcm-dmaap.flags.ttl' value='`$activate-ne-sw-input.common-header.flags.ttl`'/>
+ <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />
+ <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />
+ <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name="responsePrefix" value="lcm" />
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value='Failed to Publish to DMaap'/>
+ </record>
+ </outcome>
+ </execute>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='500'>
+ <block>
+ <set>
+ <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>
+ <parameter name='lcm-dmaap.correlation-id' value="`$activate-ne-sw-input.common-header.request-id + '-' + $activate-ne-sw-input.common-header.sub-request-id`"/>
+ <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>
+ <parameter name='lcm-dmaap.rpc-name' value='activate-ne-sw'/>
+ <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>
+ <parameter name='lcm-dmaap.timestamp' value='`$activate-ne-sw-input.common-header.timestamp`'/>
+ <parameter name='lcm-dmaap.api-ver' value='`$activate-ne-sw-input.common-header.api-ver`'/>
+ <parameter name='lcm-dmaap.originator-id' value='`$activate-ne-sw-input.common-header.originator-id`'/>
+ <parameter name='lcm-dmaap.request-id' value='`$activate-ne-sw-input.common-header.request-id`'/>
+ <parameter name='lcm-dmaap.sub-request-id' value='`$activate-ne-sw-input.common-header.sub-request-id`'/>
+ <parameter name='lcm-dmaap.flags.mode' value='`$activate-ne-sw-input.common-header.flags.mode`'/>
+ <parameter name='lcm-dmaap.flags.force' value='`$activate-ne-sw-input.common-header.flags.force`'/>
+ <parameter name='lcm-dmaap.flags.ttl' value='`$activate-ne-sw-input.common-header.flags.ttl`'/>
+ <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />
+ <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />
+ <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name="responsePrefix" value="lcm" />
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value='Failed to Publish to DMaap'/>
+ </record>
+ </outcome>
+ </execute>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='100'>
+ <execute plugin='org.onap.ccsdk.sli.adaptors.ansible.AnsibleAdapter' method='reqExecResult' >
+ <parameter name='AgentUrl' value='`$prop.ansible.agenturl`'/>
+ <parameter name='User' value='`$prop.ansible.user`'/>
+ <parameter name='Password' value='`$prop.ansible.password`'/>
+ <parameter name='Id' value='`$org.onap.appc.adapter.ansible.Id`'/>
+ <parameter name='PlaybookName' value='`$playbookname`'/>
+ <outcome value='failure'>
+ <block>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>
+ <parameter name='source' value='org.onap.appc.adapter.ansible.results' />
+ <parameter name='outputPath' value='resultsJson' />
+ <parameter name='isEscaped' value='false' />
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
+ <parameter name='source' value="`'resultsJson' + $outputPayloadField`" />
+ <parameter name='outputPath' value='outputPayload' />
+ </execute>
+ <set>
+ <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>
+ <parameter name='lcm-dmaap.correlation-id' value="`$activate-ne-sw-input.common-header.request-id + '-' + $activate-ne-sw-input.common-header.sub-request-id`"/>
+ <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>
+ <parameter name='lcm-dmaap.rpc-name' value='activate-ne-sw'/>
+ <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>
+ <parameter name='lcm-dmaap.timestamp' value='`$activate-ne-sw-input.common-header.timestamp`'/>
+ <parameter name='lcm-dmaap.api-ver' value='`$activate-ne-sw-input.common-header.api-ver`'/>
+ <parameter name='lcm-dmaap.originator-id' value='`$activate-ne-sw-input.common-header.originator-id`'/>
+ <parameter name='lcm-dmaap.request-id' value='`$activate-ne-sw-input.common-header.request-id`'/>
+ <parameter name='lcm-dmaap.sub-request-id' value='`$activate-ne-sw-input.common-header.sub-request-id`'/>
+ <parameter name='lcm-dmaap.flags.mode' value='`$activate-ne-sw-input.common-header.flags.mode`'/>
+ <parameter name='lcm-dmaap.flags.force' value='`$activate-ne-sw-input.common-header.flags.force`'/>
+ <parameter name='lcm-dmaap.flags.ttl' value='`$activate-ne-sw-input.common-header.flags.ttl`'/>
+ <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </set>
+ <switch test='`$outputPayload`'>
+ <outcome value='Other'>
+ <set>
+ <parameter name='lcm-dmaap.payload' value='`$outputPayload`'/>
+ </set>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />
+ <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />
+ <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name="responsePrefix" value="lcm" />
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value='Failed to Publish to DMaap'/>
+ </record>
+ </outcome>
+ </execute>
+ <switch test='`$outputPayload`'>
+ <outcome value=''>
+ <switch test="`$org.onap.appc.adapter.ansible.result.code`">
+ <outcome value='400'>
+ <return status='success'>
+ <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='Other'>
+ <switch test="`$org.onap.appc.adapter.ansible.result.code`">
+ <outcome value='400'>
+ <return status='success'>
+ <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ <parameter name='payload' value='`$outputPayload`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ <parameter name='payload' value='`$outputPayload`'/>
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>
+ <parameter name='source' value='org.onap.appc.adapter.ansible.results' />
+ <parameter name='outputPath' value='resultsJson' />
+ <parameter name='isEscaped' value='false' />
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
+ <parameter name='source' value="`'resultsJson' + $outputPayloadField`" />
+ <parameter name='outputPath' value='outputPayload' />
+ </execute>
+ <set>
+ <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>
+ <parameter name='lcm-dmaap.correlation-id' value="`$activate-ne-sw-input.common-header.request-id + '-' + $activate-ne-sw-input.common-header.sub-request-id`"/>
+ <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>
+ <parameter name='lcm-dmaap.rpc-name' value='activate-ne-sw'/>
+ <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>
+ <parameter name='lcm-dmaap.timestamp' value='`$activate-ne-sw-input.common-header.timestamp`'/>
+ <parameter name='lcm-dmaap.api-ver' value='`$activate-ne-sw-input.common-header.api-ver`'/>
+ <parameter name='lcm-dmaap.originator-id' value='`$activate-ne-sw-input.common-header.originator-id`'/>
+ <parameter name='lcm-dmaap.request-id' value='`$activate-ne-sw-input.common-header.request-id`'/>
+ <parameter name='lcm-dmaap.sub-request-id' value='`$activate-ne-sw-input.common-header.sub-request-id`'/>
+ <parameter name='lcm-dmaap.flags.mode' value='`$activate-ne-sw-input.common-header.flags.mode`'/>
+ <parameter name='lcm-dmaap.flags.force' value='`$activate-ne-sw-input.common-header.flags.force`'/>
+ <parameter name='lcm-dmaap.flags.ttl' value='`$activate-ne-sw-input.common-header.flags.ttl`'/>
+ <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </set>
+ <switch test='`$outputPayload`'>
+ <outcome value='Other'>
+ <set>
+ <parameter name='lcm-dmaap.payload' value='`$outputPayload`'/>
+ </set>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />
+ <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />
+ <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name="responsePrefix" value="lcm" />
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value='Failed to Publish to DMaap'/>
+ </record>
+ </outcome>
+ </execute>
+ <switch test='`$outputPayload`'>
+ <outcome value=''>
+ <switch test="`$org.onap.appc.adapter.ansible.result.code`">
+ <outcome value='400'>
+ <return status='success'>
+ <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='Other'>
+ <switch test="`$org.onap.appc.adapter.ansible.result.code`">
+ <outcome value='400'>
+ <return status='success'>
+ <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ <parameter name='payload' value='`$outputPayload`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ <parameter name='payload' value='`$outputPayload`'/>
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ </outcome>
+ </execute>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/lcm/src/main/xml/LCM_download-ne-sw.xml b/platform-logic/lcm/src/main/xml/LCM_download-ne-sw.xml
new file mode 100644
index 00000000..7f8321bb
--- /dev/null
+++ b/platform-logic/lcm/src/main/xml/LCM_download-ne-sw.xml
@@ -0,0 +1,471 @@
+<service-logic
+ 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='LCM' version='${project.version}'>
+ <method rpc='download-ne-sw' mode='sync'>
+ <block>
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/lcm-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <set>
+ <parameter name='status.code' value='200' />
+ <parameter name='status.message' value='unexpected return from DG' />
+ <parameter name='quote' value="'" />
+ <parameter name='outputPayloadField' value='.Output' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>
+ <parameter name='source' value='download-ne-sw-input.payload' />
+ <parameter name='outputPath' value='payloadJson' />
+ <parameter name='isEscaped' value='true' />
+ </execute>
+ <switch test='`$payloadJson.pnf-flag`'>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='nodelist' value="`'[' + $quote + $payloadJson.ipaddress-v4-oam + $quote + ']'`"/>
+ <parameter name='outputPayloadField' value="`'.' + $payloadJson.ipaddress-v4-oam + '.Output'`"/>
+ </set>
+ <switch test='`$payloadJson.playbook-name`'>
+ <outcome value=''>
+ <set>
+ <parameter name='playbookname' value='`$prop.lcm.pnf.download-ne-sw.playbookname`'/>
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='playbookname' value='`$payloadJson.playbook-name`'/>
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
+ <parameter name='outputPath' value='playbookname' />
+ <parameter name='source' value="`'prop.lcm.' + $payloadJson.nf-naming-code + '.download-ne-sw.playbookname'`" />
+ </execute>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $download-ne-sw-input.action-identifiers.vnf-id"
+ local-only="false"
+ pfx='aai.generic-vnf'>
+ <outcome value='success'>
+ <block>
+ <switch test='`$playbookname`'>
+ <outcome value=''>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
+ <parameter name='outputPath' value='playbookname' />
+ <parameter name='source' value="`'prop.lcm.' + $aai.generic-vnf.nf-naming-code + '.download-ne-sw.playbookname'`" />
+ </execute>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='nodelist' value="`'[' + $quote + $aai.generic-vnf.ipv4-oam-address + $quote + ']'`"/>
+ </set>
+ </block>
+ </outcome>
+ </get-resource>
+ </block>
+ </outcome>
+ </switch>
+ <switch test='`$playbookname`'>
+ <outcome value=''>
+ <set>
+ <parameter name='playbookname' value='`$prop.lcm.download-ne-sw.playbookname`'/>
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$nodelist`'>
+ <outcome value=''>
+ <set>
+ <parameter name='nodelist' value="`$prop.ansible.nodelist`"/>
+ </set>
+ </outcome>
+ <outcome value="['']">
+ <set>
+ <parameter name='nodelist' value="`$prop.ansible.nodelist`"/>
+ </set>
+ </outcome>
+ </switch>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value='`$playbookname`'/>
+ <parameter name="field2" value='`$nodelist`'/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.adaptors.ansible.AnsibleAdapter' method='reqExec' >
+ <parameter name='AgentUrl' value='`$prop.ansible.agenturl`'/>
+ <parameter name='User' value='`$prop.ansible.user`'/>
+ <parameter name='Password' value='`$prop.ansible.password`'/>
+ <parameter name='LocalParameters' value='`$prop.ansible.lcm.localparameters`'/>
+ <parameter name='EnvParameters' value='`$download-ne-sw-input.payload`'/>
+ <parameter name='NodeList' value="`$nodelist`"/>
+ <parameter name='Timeout' value='`$prop.ansible.timeout`'/>
+ <parameter name='Version' value='`$prop.ansible.version`'/>
+ <parameter name='Id' value='`$download-ne-sw-input.common-header.request-id`'/>
+ <parameter name='PlaybookName' value='`$playbookname`'/>
+ <outcome value='not-found'>
+ <block>
+ <set>
+ <parameter name='org.onap.appc.adapter.ansible.result.code' value='401'/>
+ <parameter name='org.onap.appc.adapter.ansible.message' value='Ansible Adapter was not found'/>
+ </set>
+ <block>
+ <set>
+ <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>
+ <parameter name='lcm-dmaap.correlation-id' value="`$download-ne-sw-input.common-header.request-id + '-' + $download-ne-sw-input.common-header.sub-request-id`"/>
+ <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>
+ <parameter name='lcm-dmaap.rpc-name' value='download-ne-sw'/>
+ <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>
+ <parameter name='lcm-dmaap.timestamp' value='`$download-ne-sw-input.common-header.timestamp`'/>
+ <parameter name='lcm-dmaap.api-ver' value='`$download-ne-sw-input.common-header.api-ver`'/>
+ <parameter name='lcm-dmaap.originator-id' value='`$download-ne-sw-input.common-header.originator-id`'/>
+ <parameter name='lcm-dmaap.request-id' value='`$download-ne-sw-input.common-header.request-id`'/>
+ <parameter name='lcm-dmaap.sub-request-id' value='`$download-ne-sw-input.common-header.sub-request-id`'/>
+ <parameter name='lcm-dmaap.flags.mode' value='`$download-ne-sw-input.common-header.flags.mode`'/>
+ <parameter name='lcm-dmaap.flags.force' value='`$download-ne-sw-input.common-header.flags.force`'/>
+ <parameter name='lcm-dmaap.flags.ttl' value='`$download-ne-sw-input.common-header.flags.ttl`'/>
+ <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />
+ <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />
+ <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name="responsePrefix" value="lcm" />
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value='Failed to Publish to DMaap'/>
+ </record>
+ </outcome>
+ </execute>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block>
+ <set>
+ <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>
+ <parameter name='lcm-dmaap.correlation-id' value="`$download-ne-sw-input.common-header.request-id + '-' + $download-ne-sw-input.common-header.sub-request-id`"/>
+ <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>
+ <parameter name='lcm-dmaap.rpc-name' value='download-ne-sw'/>
+ <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>
+ <parameter name='lcm-dmaap.timestamp' value='`$download-ne-sw-input.common-header.timestamp`'/>
+ <parameter name='lcm-dmaap.api-ver' value='`$download-ne-sw-input.common-header.api-ver`'/>
+ <parameter name='lcm-dmaap.originator-id' value='`$download-ne-sw-input.common-header.originator-id`'/>
+ <parameter name='lcm-dmaap.request-id' value='`$download-ne-sw-input.common-header.request-id`'/>
+ <parameter name='lcm-dmaap.sub-request-id' value='`$download-ne-sw-input.common-header.sub-request-id`'/>
+ <parameter name='lcm-dmaap.flags.mode' value='`$download-ne-sw-input.common-header.flags.mode`'/>
+ <parameter name='lcm-dmaap.flags.force' value='`$download-ne-sw-input.common-header.flags.force`'/>
+ <parameter name='lcm-dmaap.flags.ttl' value='`$download-ne-sw-input.common-header.flags.ttl`'/>
+ <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />
+ <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />
+ <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name="responsePrefix" value="lcm" />
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value='Failed to Publish to DMaap'/>
+ </record>
+ </outcome>
+ </execute>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <switch test="`$org.onap.appc.adapter.ansible.result.code`">
+ <outcome value='101'>
+ <block>
+ <set>
+ <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>
+ <parameter name='lcm-dmaap.correlation-id' value="`$download-ne-sw-input.common-header.request-id + '-' + $download-ne-sw-input.common-header.sub-request-id`"/>
+ <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>
+ <parameter name='lcm-dmaap.rpc-name' value='download-ne-sw'/>
+ <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>
+ <parameter name='lcm-dmaap.timestamp' value='`$download-ne-sw-input.common-header.timestamp`'/>
+ <parameter name='lcm-dmaap.api-ver' value='`$download-ne-sw-input.common-header.api-ver`'/>
+ <parameter name='lcm-dmaap.originator-id' value='`$download-ne-sw-input.common-header.originator-id`'/>
+ <parameter name='lcm-dmaap.request-id' value='`$download-ne-sw-input.common-header.request-id`'/>
+ <parameter name='lcm-dmaap.sub-request-id' value='`$download-ne-sw-input.common-header.sub-request-id`'/>
+ <parameter name='lcm-dmaap.flags.mode' value='`$download-ne-sw-input.common-header.flags.mode`'/>
+ <parameter name='lcm-dmaap.flags.force' value='`$download-ne-sw-input.common-header.flags.force`'/>
+ <parameter name='lcm-dmaap.flags.ttl' value='`$download-ne-sw-input.common-header.flags.ttl`'/>
+ <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />
+ <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />
+ <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name="responsePrefix" value="lcm" />
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value='Failed to Publish to DMaap'/>
+ </record>
+ </outcome>
+ </execute>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='500'>
+ <block>
+ <set>
+ <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>
+ <parameter name='lcm-dmaap.correlation-id' value="`$download-ne-sw-input.common-header.request-id + '-' + $download-ne-sw-input.common-header.sub-request-id`"/>
+ <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>
+ <parameter name='lcm-dmaap.rpc-name' value='download-ne-sw'/>
+ <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>
+ <parameter name='lcm-dmaap.timestamp' value='`$download-ne-sw-input.common-header.timestamp`'/>
+ <parameter name='lcm-dmaap.api-ver' value='`$download-ne-sw-input.common-header.api-ver`'/>
+ <parameter name='lcm-dmaap.originator-id' value='`$download-ne-sw-input.common-header.originator-id`'/>
+ <parameter name='lcm-dmaap.request-id' value='`$download-ne-sw-input.common-header.request-id`'/>
+ <parameter name='lcm-dmaap.sub-request-id' value='`$download-ne-sw-input.common-header.sub-request-id`'/>
+ <parameter name='lcm-dmaap.flags.mode' value='`$download-ne-sw-input.common-header.flags.mode`'/>
+ <parameter name='lcm-dmaap.flags.force' value='`$download-ne-sw-input.common-header.flags.force`'/>
+ <parameter name='lcm-dmaap.flags.ttl' value='`$download-ne-sw-input.common-header.flags.ttl`'/>
+ <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />
+ <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />
+ <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name="responsePrefix" value="lcm" />
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value='Failed to Publish to DMaap'/>
+ </record>
+ </outcome>
+ </execute>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='100'>
+ <execute plugin='org.onap.ccsdk.sli.adaptors.ansible.AnsibleAdapter' method='reqExecResult' >
+ <parameter name='AgentUrl' value='`$prop.ansible.agenturl`'/>
+ <parameter name='User' value='`$prop.ansible.user`'/>
+ <parameter name='Password' value='`$prop.ansible.password`'/>
+ <parameter name='Id' value='`$org.onap.appc.adapter.ansible.Id`'/>
+ <parameter name='PlaybookName' value='`$playbookname`'/>
+ <outcome value='failure'>
+ <block>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>
+ <parameter name='source' value='org.onap.appc.adapter.ansible.results' />
+ <parameter name='outputPath' value='resultsJson' />
+ <parameter name='isEscaped' value='false' />
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
+ <parameter name='source' value="`'resultsJson' + $outputPayloadField`" />
+ <parameter name='outputPath' value='outputPayload' />
+ </execute>
+ <set>
+ <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>
+ <parameter name='lcm-dmaap.correlation-id' value="`$download-ne-sw-input.common-header.request-id + '-' + $download-ne-sw-input.common-header.sub-request-id`"/>
+ <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>
+ <parameter name='lcm-dmaap.rpc-name' value='download-ne-sw'/>
+ <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>
+ <parameter name='lcm-dmaap.timestamp' value='`$download-ne-sw-input.common-header.timestamp`'/>
+ <parameter name='lcm-dmaap.api-ver' value='`$download-ne-sw-input.common-header.api-ver`'/>
+ <parameter name='lcm-dmaap.originator-id' value='`$download-ne-sw-input.common-header.originator-id`'/>
+ <parameter name='lcm-dmaap.request-id' value='`$download-ne-sw-input.common-header.request-id`'/>
+ <parameter name='lcm-dmaap.sub-request-id' value='`$download-ne-sw-input.common-header.sub-request-id`'/>
+ <parameter name='lcm-dmaap.flags.mode' value='`$download-ne-sw-input.common-header.flags.mode`'/>
+ <parameter name='lcm-dmaap.flags.force' value='`$download-ne-sw-input.common-header.flags.force`'/>
+ <parameter name='lcm-dmaap.flags.ttl' value='`$download-ne-sw-input.common-header.flags.ttl`'/>
+ <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </set>
+ <switch test='`$outputPayload`'>
+ <outcome value='Other'>
+ <set>
+ <parameter name='lcm-dmaap.payload' value='`$outputPayload`'/>
+ </set>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />
+ <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />
+ <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name="responsePrefix" value="lcm" />
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value='Failed to Publish to DMaap'/>
+ </record>
+ </outcome>
+ </execute>
+ <switch test='`$outputPayload`'>
+ <outcome value=''>
+ <switch test="`$org.onap.appc.adapter.ansible.result.code`">
+ <outcome value='400'>
+ <return status='success'>
+ <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='Other'>
+ <switch test="`$org.onap.appc.adapter.ansible.result.code`">
+ <outcome value='400'>
+ <return status='success'>
+ <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ <parameter name='payload' value='`$outputPayload`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ <parameter name='payload' value='`$outputPayload`'/>
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>
+ <parameter name='source' value='org.onap.appc.adapter.ansible.results' />
+ <parameter name='outputPath' value='resultsJson' />
+ <parameter name='isEscaped' value='false' />
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
+ <parameter name='source' value="`'resultsJson' + $outputPayloadField`" />
+ <parameter name='outputPath' value='outputPayload' />
+ </execute>
+ <set>
+ <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>
+ <parameter name='lcm-dmaap.correlation-id' value="`$download-ne-sw-input.common-header.request-id + '-' + $download-ne-sw-input.common-header.sub-request-id`"/>
+ <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>
+ <parameter name='lcm-dmaap.rpc-name' value='download-ne-sw'/>
+ <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>
+ <parameter name='lcm-dmaap.timestamp' value='`$download-ne-sw-input.common-header.timestamp`'/>
+ <parameter name='lcm-dmaap.api-ver' value='`$download-ne-sw-input.common-header.api-ver`'/>
+ <parameter name='lcm-dmaap.originator-id' value='`$download-ne-sw-input.common-header.originator-id`'/>
+ <parameter name='lcm-dmaap.request-id' value='`$download-ne-sw-input.common-header.request-id`'/>
+ <parameter name='lcm-dmaap.sub-request-id' value='`$download-ne-sw-input.common-header.sub-request-id`'/>
+ <parameter name='lcm-dmaap.flags.mode' value='`$download-ne-sw-input.common-header.flags.mode`'/>
+ <parameter name='lcm-dmaap.flags.force' value='`$download-ne-sw-input.common-header.flags.force`'/>
+ <parameter name='lcm-dmaap.flags.ttl' value='`$download-ne-sw-input.common-header.flags.ttl`'/>
+ <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </set>
+ <switch test='`$outputPayload`'>
+ <outcome value='Other'>
+ <set>
+ <parameter name='lcm-dmaap.payload' value='`$outputPayload`'/>
+ </set>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />
+ <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />
+ <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name="responsePrefix" value="lcm" />
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value='Failed to Publish to DMaap'/>
+ </record>
+ </outcome>
+ </execute>
+ <switch test='`$outputPayload`'>
+ <outcome value=''>
+ <switch test="`$org.onap.appc.adapter.ansible.result.code`">
+ <outcome value='400'>
+ <return status='success'>
+ <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='Other'>
+ <switch test="`$org.onap.appc.adapter.ansible.result.code`">
+ <outcome value='400'>
+ <return status='success'>
+ <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>
+ <parameter name='payload' value='`$outputPayload`'/>
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='status.code' value='401' />
+ <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />
+ <parameter name='payload' value='`$outputPayload`'/>
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ </outcome>
+ </execute>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file