Add DGs and Ansible playbooks for downloadNESw and activateNESw 04/99604/1
authorEnbo Wang <wangenbo@huawei.com>
Fri, 13 Dec 2019 11:58:23 +0000 (19:58 +0800)
committerEnbo Wang <wangenbo@huawei.com>
Fri, 13 Dec 2019 11:58:23 +0000 (19:58 +0800)
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

installation/ansible-server/src/main/Playbooks/ansible_huawei_activatenesw@0.00.yml [new file with mode: 0644]
installation/ansible-server/src/main/Playbooks/ansible_huawei_downloadnesw@0.00.yml [new file with mode: 0644]
installation/src/main/properties/lcm-dg.properties
platform-logic/lcm/src/main/json/LCM_activate-ne-sw.json [new file with mode: 0644]
platform-logic/lcm/src/main/json/LCM_download-ne-sw.json [new file with mode: 0644]
platform-logic/lcm/src/main/resources/graph.versions
platform-logic/lcm/src/main/xml/LCM_activate-ne-sw.xml [new file with mode: 0644]
platform-logic/lcm/src/main/xml/LCM_download-ne-sw.xml [new file with mode: 0644]

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