diff --git a/docs/configuration.yml b/docs/configuration.yml index 88586703..99daaa9a 100644 --- a/docs/configuration.yml +++ b/docs/configuration.yml @@ -19,6 +19,7 @@ de: suffix: tags: force_delete: + vc_suffix: df: suffix: min_k8s_nodes: diff --git a/roles/runtime/defaults/main.yml b/roles/runtime/defaults/main.yml index 6dca0cb3..b9bce76b 100644 --- a/roles/runtime/defaults/main.yml +++ b/roles/runtime/defaults/main.yml @@ -68,6 +68,7 @@ run__de_definitions: "{{ de.definitions | default([{}]) }}" run__de_suffix: "{{ de.suffix | default('de') }}" run__de_tags: "{{ de.tags | default(common__tags) }}" run__de_force_delete: "{{ de.force_delete | default (run__force_teardown) }}" +run__de_vc_suffix: "{{ de.vc.suffix | default('vc') }}" run__dw_definitions: "{{ dw.definitions | default([{}]) }}" run__dw_suffix: "{{ dw.suffix | default('dw') }}" diff --git a/roles/runtime/tasks/setup_base.yml b/roles/runtime/tasks/setup_base.yml index b4cfd689..1a1f0e4a 100644 --- a/roles/runtime/tasks/setup_base.yml +++ b/roles/runtime/tasks/setup_base.yml @@ -173,3 +173,38 @@ cloudera.cloud.df_service: env_crn: "{{ run__cdp_env_crn }}" wait: yes + +- name: Create CDP DE Virtual clusters + cloudera.cloud.de_virtual_cluster: + cluster_name: "{{ __de_vc_config_item.0.name }}" + env: "{{ run__env_name }}" + name: "{{ __de_vc_config_item.1.name | default([run__namespace, run__de_vc_suffix ,__de_vc_index] | join('-')) }}" + cpu_requests: "{{ __de_vc_config_item.1.cpu_requests | default(omit) }}" + memory_requests: "{{ __de_vc_config_item.1.memory_requests | default(omit) }}" + chart_value_overrides: "{{ __de_vc_config_item.1.chart_value_overrides | default(omit) }}" + runtime_spot_component: "{{ __de_vc_config_item.1.runtime_spot_component | default(omit) }}" + spark_version: "{{ __de_vc_config_item.1.spark_version | default(omit) }}" + acl_users: "{{ __de_vc_config_item.1.acl_users | default(omit) }}" + wait: yes + async: 1800 # 30 minute timeout + poll: 0 + register: __de_vc_builds + with_subelements: + - "{{ run__de_configs | selectattr('raw.virtual_clusters', 'defined') | list }}" + - raw.virtual_clusters + loop_control: + loop_var: __de_vc_config_item + index_var: __de_vc_index + label: "{{ __de_vc_config_item.0.name | default ('None') }}" + +- name: Wait for CDP DE Virtual cluster setup to complete + ansible.builtin.async_status: + jid: "{{ __de_vc_build.ansible_job_id }}" + register: __de_vc_builds_async + until: __de_vc_builds_async.finished + retries: 30 + delay: 30 + loop: "{{ __de_vc_builds.results }}" + loop_control: + loop_var: __de_vc_build + label: "{{ __de_vc_build.__de_vc_config_item.0.name | default ('None') }}"