Skip to content

Commit af977a8

Browse files
committed
Add expanded DW teardown options
Signed-off-by: Webster Mudge <wmudge@cloudera.com>
1 parent d170aaf commit af977a8

File tree

1 file changed

+100
-20
lines changed

1 file changed

+100
-20
lines changed

roles/runtime/tasks/teardown_base.yml

Lines changed: 100 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -32,34 +32,101 @@
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 Data Warehouse services teardown
3736
when:
38-
- run__include_dw or run__force_teardown | bool
37+
- run__include_dw
38+
- not run__force_teardown | bool and not run__dw_force_delete | bool
3939
- run__env_info.environments | length > 0
40-
#- 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 Data Warehouse virtual warehouse teardown
42+
cloudera.cloud.dw_virtual_warehouse:
43+
cluster_id: "{{ __dw_cluster_id }}"
44+
id: "{{ __vw_id.id }}"
45+
state: absent
46+
wait: yes
47+
loop: "{{ __dw_vw_list.virtual_warehouses | default([]) }}"
48+
loop_control:
49+
loop_var: __vw_id
50+
label: "{{ __vw_id.name }}"
51+
register: __dw_vw_teardown_info
52+
#ignore_errors: yes
53+
async: 3600 # 1 hour timeout
54+
poll: 0
55+
56+
- name: Wait for CDP Data Warehouse virtual warehouses to decommission
57+
ansible.builtin.async_status:
58+
jid: "{{ __dw_vw_teardown_item.ansible_job_id }}"
59+
loop_control:
60+
loop_var: __dw_vw_teardown_item
61+
label: "{{ __dw_vw_teardown_item.__vw_id.name }}"
62+
loop: "{{ __dw_vw_teardown_info.results | default([]) }}"
63+
register: __dw_vw_teardowns_async
64+
until: __dw_vw_teardowns_async.finished
65+
#ignore_errors: yes
66+
retries: 30
67+
delay: 10
68+
69+
rescue:
70+
- debug:
71+
var: ansible_failed_result
72+
73+
- name: Execute CDP Data Warehouse virtual warehouse teardown (compactor)
74+
cloudera.cloud.dw_virtual_warehouse:
75+
cluster_id: "{{ __dw_cluster_id }}"
76+
id: "{{ __dw_vw_compactor_item.id }}"
77+
state: absent
78+
wait: yes
79+
#loop: "{{ __dw_vw_teardown_info.results | map(attribute='__vw_id') | list }}"
80+
loop: "{{ ansible_failed_result.results | map(attribute='__vw_id') | list }}"
81+
loop_control:
82+
loop_var: __dw_vw_compactor_item
83+
label: "{{ __dw_vw_compactor_item.name }}"
84+
register: __dw_vw_compactor_info
85+
async: 3600 # 1 hour timeout
86+
poll: 0
87+
88+
- name: Wait for CDP Data Warehouse virtual warehouses (compactor) to decommission
89+
ansible.builtin.async_status:
90+
jid: "{{ __dw_vw_compactor_teardown_item.ansible_job_id }}"
91+
loop_control:
92+
loop_var: __dw_vw_compactor_teardown_item
93+
label: "{{ __dw_vw_compactor_teardown_item.__dw_vw_compactor_item.name }}"
94+
loop: "{{ __dw_vw_compactor_info.results }}"
95+
register: __dw_vw_compactor_teardowns_async
96+
until: __dw_vw_compactor_teardowns_async.finished
97+
retries: 30
98+
delay: 10
99+
100+
- name: Execute CDP Data Warehouse database catalog teardown
101+
cloudera.cloud.dw_database_catalog:
102+
cluster_id: "{{ __dw_cluster_id }}"
103+
id: "{{ __dbc_id.id }}"
104+
state: absent
105+
wait: yes
106+
loop: "{{ __dw_dbc_list.database_catalogs }}"
107+
loop_control:
108+
loop_var: __dbc_id
109+
label: "{{ __dbc_id.name }}"
110+
async: 3600 # 1 hour timeout
111+
poll: 0
112+
register: __dw_dbc_teardown_info
46113

47114
- name: Execute CDP Dataflow teardown
48-
register: __df_teardown_info
49115
when:
50116
- run__include_df or run__force_teardown | bool
51-
- run__df_service_info is defined and run__df_service_info.services is defined
52-
- run__df_service_info.services | length > 0
117+
- run__df_env_info is defined and run__df_env_info.services is defined
118+
- run__df_env_info.services | length > 0
53119
cloudera.cloud.df_service:
54-
df_crn: "{{ __df_teardown_req_item.crn }}"
120+
name: "{{ __df_teardown_req_item.crn }}"
55121
persist: "{{ run__df_persist }}"
56122
force: "{{ run__df_force_delete }}"
57123
terminate: "{{ run__df_terminate_deployments }}"
58124
state: absent
59125
wait: no
60126
loop_control:
61127
loop_var: __df_teardown_req_item
62-
loop: "{{ run__df_service_info.services }}"
128+
loop: "{{ run__df_env_info.services }}"
129+
register: __df_teardown_info
63130

64131
- name: Execute CDP ML Workspace teardown
65132
when:
@@ -164,15 +231,28 @@
164231
retries: 120
165232
delay: 30
166233

167-
- name: Wait for CDP DW deployments to decommission
234+
- name: Wait for CDP Data Warehouse deployments to decommission
235+
when: __dw_dbc_teardown_info is defined and __dw_dbc_teardown_info.results is defined and not __dw_dbc_teardown_item.skipped
236+
ansible.builtin.async_status:
237+
jid: "{{ __dw_dbc_teardown_item.ansible_job_id }}"
238+
loop_control:
239+
loop_var: __dw_dbc_teardown_item
240+
label: "{{ __dw_dbc_teardown_item.__dbc_id.name }}"
241+
loop: "{{ __dw_dbc_teardown_info.results }}"
242+
register: __dw_dbc_teardowns_async
243+
until: __dw_dbc_teardowns_async.finished
244+
retries: 120
245+
delay: 30
246+
247+
- name: Execute CDP Data Warehouse cluster teardown
168248
when:
169-
- __dw_teardown_info is defined
170-
# - __dw_teardown_info.started | default(False)
249+
- run__include_dw or run__force_teardown | bool
250+
- run__env_info.environments | length > 0
171251
cloudera.cloud.dw_cluster:
172252
env: "{{ run__env_name }}"
173253
state: absent
174254
wait: yes
175-
force: "{{ run__dw_force_delete }}"
255+
force: "{{ run__dw_force_delete or run__force_teardown }}"
176256

177257
- name: Wait for CDP OpDB deployments to decommission
178258
when:
@@ -193,9 +273,9 @@
193273
- name: Wait for CDP Dataflow deployment to decommission
194274
when:
195275
- run__include_df
196-
- run__df_service_info.services | length > 0
276+
- run__df_env_info.services | length > 0
197277
cloudera.cloud.df_service:
198-
df_crn: "{{ __df_teardown_wait_item.crn }}"
278+
name: "{{ __df_teardown_wait_item.crn }}"
199279
persist: "{{ run__df_persist }}"
200280
force: "{{ run__df_force_delete }}"
201281
state: absent

0 commit comments

Comments
 (0)