aboutsummaryrefslogtreecommitdiffstats
path: root/installation/ansible-server/src/main/Playbooks/ansible_huawei_upgrade@0.01.yml
blob: 514027268c169074e3268c0e0a863c2129c6ee79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
---
- hosts: all
  tasks:

  - name: compatible with parameter targetSwVersion
    set_fact:
      sw_to_be_downloaded: "{{targetSwVersion}}"
    when: targetSwVersion is defined

  - name: support new parameter swToBeDownloaded
    set_fact:
      sw_to_be_downloaded: "{{swToBeDownloaded}}"
    when: swToBeDownloaded is defined

  - name: compatible with parameter pnfId
    set_fact:
      ne_identifier: "{{pnfId}}"
    when: pnfId is defined

  - name: support new parameter neIdentifier
    set_fact:
      ne_identifier: "{{neIdentifier}}"
    when: neIdentifier is defined

  - name: execute downloadNESw operation
    shell: ./swm/downloadNESw.sh --swToBeDownloaded {{sw_to_be_downloaded}} --neIdentifier {{ne_identifier}}
    register: download_result

  - name: parse response of downloadNESw
    set_fact:
      download_response: "{{ download_result.stdout | from_json }}"

  - name: fetch file of Notification notifyDownloadNESwStatusChanged
    fetch:
      dest: /tmp/
      src: /tmp/notifyDownloadNESwStatusChanged-{{download_response.downloadProcessId}}

  - name: read contents of Notification notifyDownloadNESwStatusChanged
    set_fact:
      download_notification: "{{ lookup('file', '/tmp/{{inventory_hostname}}/tmp/notifyDownloadNESwStatusChanged-{{download_response.downloadProcessId}}') | from_json }}"

  - name: delete file of Notification notifyDownloadNESwStatusChanged
    local_action: file path="/tmp/{{inventory_hostname}}/tmp/notifyDownloadNESwStatusChanged-{{download_response.downloadProcessId}}" state=absent

  - name: execute installNESw operation
    shell: ./swm/installNESw.sh --swToBeInstalled {{item}} --neIdentifier {{ne_identifier}}
    register: install_result
    with_items: "{{ download_notification.downloadedNESwInfo }}"

  - name: parse responses of all the installNESws
    set_fact:
      install_responses: "{{ install_responses | default([]) + [item.stdout | from_json] }}"
    with_items: "{{ install_result.results }}"

  - name: fetch files of all the Notifications notifyInstallNESwStatusChanged
    fetch:
      dest: /tmp/
      src: /tmp/notifyInstallNESwStatusChanged-{{item.installProcessId}}
    with_items: "{{ install_responses }}"

  - name: read contents of all the Notifications notifyInstallNESwStatusChanged
    set_fact:
      install_notifications: "{{ install_notifications | default([]) + [lookup('file', '/tmp/{{inventory_hostname}}/tmp/notifyInstallNESwStatusChanged-{{item.installProcessId}}') | from_json] }}"
    with_items: "{{ install_responses }}"

  - name: delete files of all the Notifications notifyInstallNESwStatusChanged
    local_action: file path="/tmp/{{inventory_hostname}}/tmp/notifyInstallNESwStatusChanged-{{item.installProcessId}}" state=absent
    with_items: "{{ install_responses }}"

  - name: parse all the installed NE SW info
    set_fact:
      installed_ne_sw_info: "{{ installed_ne_sw_info | default([]) + item.installedNESwInfo }}"
    with_items: "{{ install_notifications }}"

  - name: execute activateNESw operation
    shell: ./swm/activateNESw.sh --swVersionToBeActivated {{item}} --neIdentifier {{ne_identifier}}
    register: activate_result
    with_items: "{{ installed_ne_sw_info }}"