Skip to content

Commit 33b7a28

Browse files
committed
Add tasks for retreiving datahub definitions and filtering by datalake version. Update tasks for constructing datahub definition requesting datahub deployment to take either the instance group details OR a definition
Signed-off-by: Chris Perro <[email protected]>
1 parent 873f107 commit 33b7a28

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

roles/runtime/tasks/initialize_base.yml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,23 +94,34 @@
9494
ansible.builtin.set_fact:
9595
run__datahub_available_templates: "{{ __datahub_template_info.templates | selectattr('productVersion', 'search', run__cdp_datalake_version) | map(attribute='clusterTemplateName') | list }}"
9696

97+
- name: Retrieve available CDP Datahub definitions
98+
cloudera.cloud.datahub_definition_info:
99+
register: __datahub_definition_info
100+
101+
- name: Set fact for available CDP Datahub definitions by Datalake version
102+
ansible.builtin.set_fact:
103+
run__datahub_available_definitions: "{{ __datahub_definition_info.definitions | selectattr('productVersion', 'search', run__cdp_datalake_version) | map(attribute='clusterDefinitionName') | list }}"
104+
97105
- name: Construct CDP Datahub configurations
98106
ansible.builtin.set_fact:
99107
run__datahub_configs: "{{ run__datahub_configs | default([]) | union([config]) }}"
100108
vars:
101109
include: "{{ lookup('template', __datahub_config.include | default('experiences_config_placeholder.j2')) | from_yaml }}"
102-
overlay: "{{ __datahub_config.instance_groups | default(include.instance_groups) | mandatory }}"
110+
overlay: "{{ __datahub_config.instance_groups | default(include.instance_groups | default([]) ) }}"
103111
base: "{{ run__datahub_instance_group_base }}"
104112
config:
105113
name: "{{ __datahub_config.name | default([run__namespace, __datahub_config.suffix | default(include.suffix) | default(run__datahub_suffix)] | join('-')) }}"
106-
template: "{{ __datahub_config.template | default(include.template) | mandatory }}"
107-
instance_groups: "{{ overlay | map('cloudera.exe.combine_onto', base, recursive=True) | list }}"
114+
template: "{{ __datahub_config.template | default(include.template | default(omit) ) }}"
115+
definition: "{{ __datahub_config.definition | default(include.definition | default(omit) ) }}"
116+
instance_groups: "{{ (overlay | length > 0) | ternary(overlay | map('cloudera.exe.combine_onto', base, recursive=True) | list, omit) }}"
108117
tags: "{{ __datahub_config.tags | default(run__datahub_tags) }}"
109118
loop: "{{ run__datahub_definitions }}"
110119
loop_control:
111120
loop_var: __datahub_config
112121
label: "{{ config.name }}"
113-
failed_when: run__datahub_available_templates | select('search', config.template) | list | length < 1
122+
failed_when:
123+
- "'template' in __datahub_config or 'template' in include"
124+
- run__datahub_available_templates | select('search', config.template) | list | length < 1
114125

115126
- name: Check CDP Datahub names
116127
ansible.builtin.assert:

roles/runtime/tasks/setup_base.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@
2323
subnet: "{{ run__datahub_subnet_ids | first }}"
2424
image: "{{ run__datahub_image_catalog_entry.uuid }}"
2525
catalog: "{{ run__datahub_image_catalog_name }}"
26-
template: "{{ run__datahub_available_templates | select('ansible.builtin.search', __datahub_config_item.template) | list | first }}"
27-
groups: "{{ __datahub_config_item.instance_groups }}"
26+
template: "{{ ('template' in __datahub_config_item) | ternary(run__datahub_available_templates | select('ansible.builtin.search', __datahub_config_item.template | default(omit)) | list | first, omit, omit) }}"
27+
definition: "{{ ('definition' in __datahub_config_item) | ternary(run__datahub_available_definitions | select('ansible.builtin.search', __datahub_config_item.definition | default(omit)) | list | first, omit, omit) }}"
28+
groups: "{{ __datahub_config_item.instance_groups | default(omit) }}"
2829
tags: "{{ __datahub_config_item.tags }}"
2930
wait: yes
3031
loop_control:

0 commit comments

Comments
 (0)