blob: 4ebe69f02d9710441547a4c6b9e28abe0417b92f (
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
---
- 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: support new parameter swToBeInstalled
set_fact:
sw_to_be_installed: "{{swToBeInstalled}}"
when: swToBeInstalled is defined
- name: check if swToBeInstalled is empty
fail:
when: swToBeInstalled is defined and sw_to_be_installed | length == 0
- name: support new parameter swVersionToBeActivated
set_fact:
sw_version_to_be_activated: "{{swVersionToBeActivated}}"
when: swVersionToBeActivated is defined
- name: execute downloadNESw operation
shell: ./swm/downloadNESw --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 }}"
when: swToBeInstalled is not defined
- name: fetch file of Notification notifyDownloadNESwStatusChanged
fetch:
dest: "{{inventory_dir}}"
src: "/tmp/notifyDownloadNESwStatusChanged-{{download_response.downloadProcessId}}"
when: swToBeInstalled is not defined
- name: read contents of Notification notifyDownloadNESwStatusChanged
set_fact:
download_notification: "{{ lookup('file', '{{inventory_dir}}/{{inventory_hostname}}/tmp/notifyDownloadNESwStatusChanged-{{download_response.downloadProcessId}}') | from_json }}"
when: swToBeInstalled is not defined
- name: delete file of Notification notifyDownloadNESwStatusChanged
local_action: file path="{{inventory_dir}}/{{inventory_hostname}}/tmp/notifyDownloadNESwStatusChanged-{{download_response.downloadProcessId}}" state=absent
when: swToBeInstalled is not defined
- name: set downloadedNESwInfo
set_fact:
downloaded_ne_sw_info: "{{ download_notification.downloadedNESwInfo }}"
when: swToBeInstalled is not defined
- name: execute installNESw operation
shell: ./swm/installNESw --swToBeInstalled {{item}} --neIdentifier {{ne_identifier}}
register: install_result
with_items: "{{ downloaded_ne_sw_info | default([]) }}"
- name: execute installNESw operation using new parameter
shell: ./swm/installNESw --swToBeInstalled {{item}} --neIdentifier {{ne_identifier}}
register: install_result_new
with_items: "{{ sw_to_be_installed | default([]) }}"
- name: unify install result
set_fact:
install_result: "{{ install_result_new }}"
when: swToBeInstalled is defined
- name: set install results list
set_fact:
install_results_list: "{{ install_result.results }}"
when: swVersionToBeActivated is not defined
- name: parse responses of all the installNESws
set_fact:
install_responses: "{{ install_responses | default([]) + [item.stdout | from_json] }}"
with_items: "{{ install_results_list | default([]) }}"
- name: fetch files of all the Notifications notifyInstallNESwStatusChanged
fetch:
dest: "{{inventory_dir}}"
src: "/tmp/notifyInstallNESwStatusChanged-{{item.installProcessId}}"
with_items: "{{ install_responses | default([]) }}"
- name: read contents of all the Notifications notifyInstallNESwStatusChanged
set_fact:
install_notifications: "{{ install_notifications | default([]) + [lookup('file', '{{inventory_dir}}/{{inventory_hostname}}/tmp/notifyInstallNESwStatusChanged-{{item.installProcessId}}') | from_json] }}"
with_items: "{{ install_responses | default([]) }}"
- name: delete files of all the Notifications notifyInstallNESwStatusChanged
local_action: file path="{{inventory_dir}}/{{inventory_hostname}}/tmp/notifyInstallNESwStatusChanged-{{item.installProcessId}}" state=absent
with_items: "{{ install_responses | default([]) }}"
- 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 | default([]) }}"
- name: execute activateNESw operation
shell: ./swm/activateNESw --swVersionToBeActivated {{item}} --neIdentifier {{ne_identifier}}
register: activate_result
with_items: "{{ installed_ne_sw_info | default([]) }}"
- name: execute activateNESw operation using new parameter
shell: ./swm/activateNESw --swVersionToBeActivated {{sw_version_to_be_activated}} --neIdentifier {{ne_identifier}}
register: activate_result_new
when: swVersionToBeActivated is defined
- name: unify activate result
set_fact:
activate_result: "{{ activate_result_new }}"
when: swVersionToBeActivated is defined
|