Skip to content

Commit 9997c54

Browse files
authored
Update to support Datahub definitions (#16)
* 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 * Add task to `initialize_setup_azure.yml` to grab the subnet information needed for datahub creation. * Modify task in `initialize_setup_gcp.yml` to work properly. No selflink in Subnet Details. Signed-off-by: Chris Perro <cmperro@gmail.com>
1 parent cd8647a commit 9997c54

File tree

4 files changed

+26
-9
lines changed

4 files changed

+26
-9
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/initialize_setup_azure.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,9 @@
1010
# distributed under the License is distributed on an "AS IS" BASIS,
1111
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1212
# See the License for the specific language governing permissions and
13-
# limitations under the License.
13+
# limitations under the License.
14+
15+
- name: Set fact for Azure Subnet Names by assignment
16+
when: infra__azure_subnets is defined
17+
ansible.builtin.set_fact:
18+
run__datahub_subnet_ids: "{{ infra__azure_subnets }}"

roles/runtime/tasks/initialize_setup_gcp.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,6 @@
4646
- __gcp_subnets_discovered is defined
4747
- __gcp_subnets_discovered.resources is defined
4848
- __gcp_subnets_discovered.resources | length > 0
49-
- __gcp_subnet_item.selfLink in run__gcp_vpc_discovered.subnetworks
49+
#- __gcp_subnet_item.selfLink in run__gcp_vpc_discovered.subnetworks
5050
ansible.builtin.set_fact:
51-
run__datahub_subnet_ids: "{{ __gcp_subnets_discovered | json_query('resources[*].name') }}"
51+
run__datahub_subnet_ids: "{{ __gcp_subnets_discovered | json_query('resources[*].name') }}"

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)