Add DGs and Ansible playbooks for downloadNESw and activateNESw
[sdnc/oam.git] / installation / ansible-server / src / main / Playbooks / ansible_huawei_activatenesw@0.00.yml
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