Skip to content

Commit 3a366e0

Browse files
authored
Update support for Datahub Definitions
* Add tasks for retrieving 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 (#9) Signed-off-by: Chris Perro <cmperro@gmail.com>
1 parent e9fc2f1 commit 3a366e0

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)