blob: 043ec524234d2ede00506f0b9ebff678fe2d4c50 (
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
|
---
- name: remove oom directory
ansible.builtin.file:
path: "{{ oom_path }}"
state: absent
- name: set review_path (oom case)
ansible.builtin.set_fact:
review_path: "{{ oom_path }}"
when: project == 'oom'
- name: "clone oom {{ branch }}"
ansible.builtin.git:
repo: "{{ oom_url }}"
dest: "{{ oom_path }}"
version: "{{ branch }}"
- name: "configure git" # noqa 303
shell: |
git config --global user.email "You@example.com";
git config --global user.name "Your Name"
changed_when: "false"
- name: override helm path for CoreOS
ansible.builtin.set_fact:
helm_path: /home/core/bin/helm
when: ansible_os_family | lower == "coreos"
- name: retrieve review_path and clone when not in oom case
block:
- name: set review_path (not oom case)
ansible.builtin.set_fact:
review_path: "{{ oom_path }}/{{ project_dir_mapping[project] }}"
- name: ensure review directory is not there
ansible.builtin.file:
path: "{{ review_path }}"
state: absent
- name: "clone {{ project }} {{ branch }}"
ansible.builtin.git:
repo: "{{ onap_base_url }}/{{ project }}"
dest: "{{ review_path }}"
version: "{{ branch }}"
when: project != 'oom' and 'oom' in project
- name: generate review end of url
ansible.builtin.set_fact:
review_end_url: "{{ gerrit_review[-2:] }}/{{ gerrit_review }}/\
{{ gerrit_patchset }}"
when: gerrit_review and 'oom' in project
- name: "retrieve change branch for project {{ project }}" # noqa 303
shell:
cmd: >
git pull --no-edit {{ onap_base_url }}/{{ project }}
refs/changes/{{ review_end_url }}
chdir: "{{ review_path }}"
when: gerrit_review and 'oom' in project
- name: "retrieve right submodules if needed for oom {{ project }}" # noqa 303
shell:
cmd: >
git submodule update
chdir: "{{ review_path }}"
when: gerrit_review and project == 'oom'
- name: check helm version
command: "helm version --template {% raw %}'{{.Version}}'{% endraw %}"
register: helm_version
# Return of previous command will be "v3.3.4" for v3 and up and "<no value>"
# for version 2.
- name: store helm version
ansible.builtin.set_fact:
helmv3: "{{ ('<' in helm_version.stdout) | ternary(false, true) }}"
- name: "HELM 3 not installed - stop playbook"
ansible.builtin.fail:
msg: HELM 3 not installed
when: not helmv3
- name: create .local/helm folder
ansible.builtin.file:
path: "{{ ansible_user_dir }}/.local/helm"
state: directory
recurse: "yes"
- name: retrieve chartmuseum
become: true
ansible.builtin.get_url:
dest: "{{ chartmuseum_path }}"
url: "https://s3.amazonaws.com/chartmuseum/release/\
{{ chartmuseum_version }}/bin/linux/amd64/chartmuseum"
checksum: "sha256:{{ chartmuseum_sha }}"
mode: 0777
- name: create chartmuseum folder
ansible.builtin.file:
path: "{{ ansible_user_dir }}/.chartstorage"
state: directory
- name: create .local/chartmuseum folder
ansible.builtin.file:
path: "{{ ansible_user_dir }}/.local/chartmuseum"
state: directory
recurse: "yes"
- name: start helm server
become: "yes"
shell: "start-stop-daemon --start --background --oknodo \
--chuid {{ ansible_user_uid }} --group {{ ansible_user_gid }} \
--exec {{ chartmuseum_path }} -- --port={{ helm_server_port }} \
--storage='local' --allow-overwrite --debug \
--storage-local-rootdir='{{ ansible_user_dir }}/.chartstorage' \
> {{ ansible_user_dir }}/.local/chartmuseum/chartmuseum.log 2>&1"
changed_when: "true"
- name: list all helm repositories
command: "helm repo list -o json"
register: repos
- name: remove all helm repositories
community.kubernetes.helm_repository:
name: "{{ item }}"
state: absent
loop: "{{ repos.stdout | from_json | map(attribute='name') | list }}"
- name: add helm local repository
community.kubernetes.helm_repository:
name: local
repo_url: "http://127.0.0.1:{{ helm_server_port }}"
- name: add helm local repository
community.kubernetes.helm_repository:
name: onap
repo_url: "http://127.0.0.1:{{ helm_server_port }}"
- name: check if Helm cm-push plugin is installed
shell: "helm plugin list | grep cm-push | grep 0.10 | wc -l"
register: helm_plugin_cm_push
changed_when: "false"
- name: Install Helm cm-push plugin
command: "helm plugin install --version {{ helm_push_version }} https://github.com/chartmuseum/helm-push.git"
changed_when: "true"
when: helm_plugin_cm_push.stdout == "0"
- name: Install Helm deploy plugin
community.kubernetes.helm_plugin:
plugin_path: "{{ oom_path }}/kubernetes/helm/plugins/deploy"
namespace: default
state: present
- name: Install Helm undeploy plugin
community.kubernetes.helm_plugin:
plugin_path: "{{ oom_path }}/kubernetes/helm/plugins/undeploy"
namespace: default
state: present
- name: Add Kafka Strimzi repository
community.kubernetes.helm_repository:
name: strimzi
repo_url: https://strimzi.io/charts/
- name: Install kafka strimzi
community.kubernetes.helm:
name: strimzi-kafka-operator
chart_ref: strimzi/strimzi-kafka-operator
release_namespace: strimzi-system
create_namespace: true
chart_version: "{{ strimzi_version }}"
values:
watchAnyNamespace: True
- name: compile helm packages
command: "make SKIP_LINT=TRUE all"
async: 3600
poll: 0
changed_when: "true"
args:
chdir: "{{ oom_path }}/kubernetes"
register: make_helm
- name: "wait for helm compile to finish"
async_status:
jid: "{{ make_helm.ansible_job_id }}"
register: job_result
until: job_result.finished
retries: 360
delay: 10
- name: "[review case] generate helm make logs filename"
set_fact:
helm_log: "make-{{ gerrit_review }}-{{ gerrit_patchset }}.log"
when: gerrit_review
- name: "[normal case] generate helm make logs filename"
set_fact:
helm_log: "make-{{ branch }}.log"
when: not gerrit_review
- name: save helm package output
copy:
dest: "{{ ansible_user_dir }}/.local/helm/{{ helm_log }}"
content: "{{ job_result.stdout }}"
- name: "[WORKAROUND] readd helm local repository"
command: "helm repo add local http://127.0.0.1:{{ helm_server_port }}"
when: not helmv3
- name: check if user clouds exists
stat:
path: "{{ base_dir }}/vars/user_cloud.yml"
delegate_to: localhost
register: stat
- name: get user clouds
block:
- name: include user clouds info
include_vars:
file: "{{ base_dir }}/vars/user_cloud.yml"
name: user_cloud
- name: retrieve OpenStack user name
set_fact:
openstack_user_name: "{{ user_cloud | list | first }}"
- name: retrieve OpenStack informations
set_fact:
openstack_tenant_name:
"{{ user_cloud[openstack_user_name].auth.project_name }}"
os_auth_url:
"{{ user_cloud[openstack_user_name].auth.auth_url }}"
- name: generate openstack info file
copy:
content: |
openstack_user_name: {{ openstack_user_name }}
openstack_tenant_name: {{ openstack_tenant_name }}
dest: "{{ base_dir }}/vars/openstack_infos.yml"
delegate_to: localhost
|