Skip to content

Commit bf69eed

Browse files
Refactor cdw teardown logic
Signed-off-by: Saravanan Raju <saravanan.footloose@gmail.com>
1 parent 84576b9 commit bf69eed

File tree

1 file changed

+135
-16
lines changed

1 file changed

+135
-16
lines changed

roles/runtime/tasks/teardown_base.yml

Lines changed: 135 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,90 @@
3232
poll: 0
3333
register: __opdb_teardowns_info
3434

35-
- name: Execute CDP DW cluster teardown
36-
register: __dw_teardown_info
35+
- name: Execute CDP DW teardown
3736
when:
38-
- run__include_dw or run__force_teardown | bool
37+
- run__include_dw | bool
3938
- run__env_info.environments | length > 0
4039
- run__env_info.environments[0].descendants.dw | length > 0
41-
cloudera.cloud.dw_cluster:
42-
env: "{{ run__env_name }}"
43-
state: absent
44-
wait: no
45-
force: "{{ run__dw_force_delete }}"
40+
block:
41+
- name: Execute CDP DW virtual warehouse teardown
42+
when: run__force_teardown | bool
43+
cloudera.cloud.dw_cluster:
44+
env: "{{ run__env_name }}"
45+
state: absent
46+
wait: no
47+
force: "{{ run__dw_force_delete }}"
48+
register: __dw_cluster_teardown_info
49+
50+
- name: Execute CDP DW virtual warehouse teardown
51+
when: not run__force_teardown | bool
52+
block:
53+
- name: Retrieve CDP DW experiences
54+
cloudera.cloud.dw_cluster_info:
55+
env: "{{ run__env_name }}"
56+
register: __dw_list
57+
58+
- name: Debug output CDP DW
59+
debug:
60+
msg: "CDP DW : {{ __dw_list }}"
61+
62+
- name: Fetch all the CDP DW Database Catalogs under the cluster
63+
cloudera.cloud.dw_database_catalog_info:
64+
cluster_id: "{{ __dw_list.clusters[0].id }}"
65+
register: __dbc_list
66+
67+
- name: Debug output CDP DW DBCs
68+
debug:
69+
msg: "CDP DW DBC : {{ __dbc_list }}"
70+
71+
- name: Fetch all the CDP DW Virtual Warehouse
72+
cloudera.cloud.dw_virtual_warehouse_info:
73+
cluster_id: "{{ __dw_list.clusters[0].id }}"
74+
dbc_id: "{{ __dbc.id }}"
75+
loop: "{{ __dbc_list.database_catalogs }}"
76+
loop_control:
77+
loop_var: __dbc
78+
register: __vw_list
79+
80+
- name: Debug output CDP DW VWs
81+
debug:
82+
msg: "CDP DW VWs : {{ __vw_list }}"
83+
#
84+
# - name: Delete all CDP DW Virtual Warehouses
85+
# cloudera.cloud.dw_virtual_warehouse:
86+
# cluster_id: "{{ __dw_list.clusters[0].id }}"
87+
# id: "{{ __vw.id }}"
88+
# state: absent
89+
# wait: no
90+
# loop: "{{ __vw_list.results[0].virtual_warehouses }}"
91+
# loop_control:
92+
# loop_var: __vw
93+
# async: 3600 # 1 hour timeout
94+
# poll: 0
95+
# register: __dw_vw_teardown_info
96+
97+
# - name: Delete all CDP DW Database Catalogs
98+
# cloudera.cloud.dw_database_catalog:
99+
# cluster_id: "{{ __dw_list.clusters[0].id }}"
100+
# name: "{{ __dbc.name }}"
101+
# state: absent
102+
# wait: no
103+
# loop: "{{ __dbc_list.database_catalogs }}"
104+
# loop_control:
105+
# loop_var: __dbc
106+
# async: 3600 # 1 hour timeout
107+
# poll: 0
108+
# register: __dw_dbc_teardown_info
109+
110+
- name: Execute CDP DW virtual warehouse teardown
111+
cloudera.cloud.dw_cluster:
112+
env: "{{ run__env_name }}"
113+
state: absent
114+
115+
wait: no
116+
async: 3600 # 1 hour timeout
117+
poll: 0
118+
register: __dw_cluster_teardown_info
46119

47120
- name: Execute CDP Dataflow teardown
48121
register: __df_teardown_info
@@ -130,14 +203,60 @@
130203
delay: 30
131204

132205
- name: Wait for CDP DW deployments to decommission
133-
when:
134-
- __dw_teardown_info is defined
135-
- __dw_teardown_info.started | default(False)
136-
cloudera.cloud.dw_cluster:
137-
env: "{{ run__env_name }}"
138-
state: absent
139-
wait: yes
140-
force: "{{ run__dw_force_delete }}"
206+
when: run__include_dw | bool
207+
block:
208+
# - name: CDW cluster teardown info
209+
# debug:
210+
# msg: "CDW : {{ __dw_vw_teardown_info }}"
211+
#
212+
# - name: Wait for CDW Virtual Warehouse to decommision
213+
# when:
214+
# - __dw_vw_teardown_info is defined
215+
# - __dw_vw_teardown_info.results is defined
216+
# - __dw_vw_teardown_info.results | length > 0
217+
# ansible.builtin.async_status:
218+
# jid: "{{ __dw_vw_teardown.ansible_job_id }}"
219+
# loop_control:
220+
# loop_var: __dw_vw_teardown
221+
# loop: "{{ __dw_vw_teardown_info.results }}"
222+
# register: __dw_vw_teardown_async
223+
# until: __dw_vw_teardown_async.finished
224+
# retries: 120
225+
# delay: 30
226+
#
227+
# - name: Wait for CDW Database Catalog to decommision
228+
# when:
229+
# - __dw_dbc_teardown_info is defined
230+
# - __dw_dbc_teardown_info.results is defined
231+
# - __dw_dbc_teardown_info.results | length > 0
232+
# ansible.builtin.async_status:
233+
# jid: "{{ __dw_dbc_teardown.ansible_job_id }}"
234+
# loop_control:
235+
# loop_var: __dw_dbc_teardown
236+
# loop: "{{ __dw_dbc_teardown_info.results }}"
237+
# register: __dw_dbc_teardown_async
238+
# until: __dw_dbc_teardown_async.finished
239+
# retries: 120
240+
# delay: 30
241+
242+
- name: CDW cluster teardown info
243+
debug:
244+
msg: "CDW : {{ __dw_cluster_teardown_info }}"
245+
246+
- name: Wait for CDW cluster to decommision
247+
when:
248+
- __dw_cluster_teardown_info is defined
249+
- __dw_cluster_teardown_info.results is defined
250+
- __dw_cluster_teardown_info.results | length > 0
251+
ansible.builtin.async_status:
252+
jid: "{{ __dw_cluster_teardown.ansible_job_id }}"
253+
loop_control:
254+
loop_var: __dw_cluster_teardown
255+
loop: "{{ __dw_cluster_teardown_info }}"
256+
register: __dw_cluster_teardown_async
257+
until: __dw_cluster_teardown_async.finished
258+
retries: 120
259+
delay: 30
141260

142261
- name: Wait for CDP OpDB deployments to decommission
143262
when:

0 commit comments

Comments
 (0)