Use Ansible for {{role}} and host_extraconfig hieradata

Migrates these hieradata files to use the cloud_domain and fqdn
templates from tripleo-hieradata. The templates have more meaningful
names to actually represent the data that these hieradata files contain.

Detailed changes:
common/deploy-steps.j2:
  Add parameter for CloudDomain and add it to the Ansible global vars
  Remove the Per-host hieradata tasks and parameters as they are no longer used
  Add cloud_domain and fqdn to list of templates for tripleo-hieradata
overcloud.j2.yaml:
  Add role_networks to HieradataVars for each role
  Replace {{role}} and host_extraconfig from hieradata hierarchy with
    cloud_domain and fqdn.
puppet/role.role.j2.yaml:
  Remove {{role}} hieradata from hieradata Datafiles as the template is
    now used instead.
  Remove per host hieradata resources and output as they are no longer
    used.

Depends-On: I9c038399fccc4730b73e1a52281d7256ea689ee9
Change-Id: I136fb7aa864a2a3668f5a3845f3ded28b13bfe43
This commit is contained in:
James Slagle 2019-07-03 09:29:25 -04:00 committed by Emilien Macchi
parent 27e7005ad4
commit c5ba2cec81
3 changed files with 17 additions and 38 deletions

View File

@ -122,9 +122,6 @@ parameters:
{{role.name}}DeploymentHierarchy: {{role.name}}DeploymentHierarchy:
type: json type: json
default: {} default: {}
{{role.name}}PerHostHieradata:
type: json
default: {}
{{role.name}}HieradataVars: {{role.name}}HieradataVars:
type: json type: json
default: {} default: {}
@ -202,6 +199,12 @@ parameters:
EnableInternalTLS: EnableInternalTLS:
type: boolean type: boolean
default: false default: false
CloudDomain:
default: 'localdomain'
type: string
description: >
The DNS domain used for the hosts. This must match the
overcloud_domain_name configured on the undercloud.
conditions: conditions:
{% for role in enabled_roles %} {% for role in enabled_roles %}
@ -367,6 +370,7 @@ outputs:
{%- endfor %} {%- endfor %}
cloud_names: {get_param: CloudNames} cloud_names: {get_param: CloudNames}
enable_internal_tls: {get_param: EnableInternalTLS} enable_internal_tls: {get_param: EnableInternalTLS}
cloud_domain: {get_param: CloudDomain}
common_deploy_steps_tasks: {get_file: deploy-steps-tasks.yaml} common_deploy_steps_tasks: {get_file: deploy-steps-tasks.yaml}
docker_puppet_script: {get_file: ./container-puppet.py} docker_puppet_script: {get_file: ./container-puppet.py}
all_nodes_validation_script.sh : {get_file: ../validation-scripts/all-nodes.sh} all_nodes_validation_script.sh : {get_file: ../validation-scripts/all-nodes.sh}
@ -506,16 +510,6 @@ outputs:
hieradata_variable_end_string: $$ hieradata_variable_end_string: $$
hieradata_files: "{{ '{{' }} lookup('file', '{{role.name}}/deployment-hierarchy.yaml') {{ '}}' }}" hieradata_files: "{{ '{{' }} lookup('file', '{{role.name}}/deployment-hierarchy.yaml') {{ '}}' }}"
when: tripleo_role_name == '{{role.name}}' when: tripleo_role_name == '{{role.name}}'
- name: Per-host hieradata
include_role:
name: tripleo-hieradata
vars:
hieradata_template: "{{role.name}}/per-host-hieradata.j2.yaml"
hieradata_per_host: True
hieradata_variable_start_string: $$
hieradata_variable_end_string: $$
hieradata_files: "{{ '{{' }} lookup('file', '{{role.name}}/deployment-hierarchy.yaml') {{ '}}' }}"
when: tripleo_role_name == '{{role.name}}'
{%- endfor %} {%- endfor %}
tags: tags:
- overcloud - overcloud
@ -538,6 +532,8 @@ outputs:
- all_nodes - all_nodes
- vip_data - vip_data
- net_ip_map - net_ip_map
- cloud_domain
- fqdn
when: tripleo_role_name == '{{role.name}}' when: tripleo_role_name == '{{role.name}}'
tags: tags:
- overcloud - overcloud
@ -804,7 +800,6 @@ outputs:
{%- for role in roles %} {%- for role in roles %}
{{role.name}}/deployment-hieradata.j2.yaml: {get_param: {{role.name}}DeploymentHieradata} {{role.name}}/deployment-hieradata.j2.yaml: {get_param: {{role.name}}DeploymentHieradata}
{{role.name}}/deployment-hierarchy.yaml: {get_param: {{role.name}}DeploymentHierarchy} {{role.name}}/deployment-hierarchy.yaml: {get_param: {{role.name}}DeploymentHierarchy}
{{role.name}}/per-host-hieradata.j2.yaml: {get_param: {{role.name}}PerHostHieradata}
{{role.name}}/hieradata_vars: {get_param: {{role.name}}HieradataVars} {{role.name}}/hieradata_vars: {get_param: {{role.name}}HieradataVars}
{%- endfor %} {%- endfor %}
update_steps_tasks: | update_steps_tasks: |

View File

@ -785,6 +785,12 @@ resources:
data: {get_attr: [{{outer_role.name}}, {{network.name}}_cidr]} data: {get_attr: [{{outer_role.name}}, {{network.name}}_cidr]}
{%- endif %} {%- endif %}
{%- endfor %} {%- endfor %}
role_networks:
{%- for network in networks %}
{%- if network.enabled|default(true) and network.name in outer_role.networks|default([]) %}
- {{network.name}}
{% endif %}
{% endfor %}
{%- endfor %} {%- endfor %}
GlobalConfig: GlobalConfig:
@ -966,7 +972,7 @@ resources:
properties: properties:
value: value:
- '"%{::uuid}"' - '"%{::uuid}"'
- host_extraconfig - fqdn
- docker_puppet # Optionally provided by container-puppet.py - docker_puppet # Optionally provided by container-puppet.py
- heat_config_%{::deploy_config_name} - heat_config_%{::deploy_config_name}
- config_step - config_step
@ -974,7 +980,7 @@ resources:
- extraconfig - extraconfig
- service_names - service_names
- service_configs - service_configs
- {{role.name.lower()}} - cloud_domain
- bootstrap_node # provided by tripleo-hieradata - bootstrap_node # provided by tripleo-hieradata
- all_nodes # provided by tripleo-hieradata - all_nodes # provided by tripleo-hieradata
- vip_data # provided by tripleo-hieradata - vip_data # provided by tripleo-hieradata
@ -1018,10 +1024,6 @@ resources:
- {get_attr: [{{role.name}}, config_datafiles]} - {get_attr: [{{role.name}}, config_datafiles]}
{{role.name}}DeploymentHierarchy: {{role.name}}DeploymentHierarchy:
{get_attr: [{{role.name}}ConfigHierarchy, value]} {get_attr: [{{role.name}}ConfigHierarchy, value]}
{{role.name}}PerHostHieradata:
map_merge:
list_concat:
- {get_attr: [{{role.name}}, per_host_hieradata_map]}
{%- endfor %} {%- endfor %}
ServiceNetMapLower: {get_attr: [ServiceNetMap, service_net_map_lower]} ServiceNetMapLower: {get_attr: [ServiceNetMap, service_net_map_lower]}
PingTestIpsMap: PingTestIpsMap:

View File

@ -660,8 +660,6 @@ resources:
{%- endif %} {%- endif %}
- {get_param: {{role.name}}ExtraConfig} - {get_param: {{role.name}}ExtraConfig}
extraconfig: {get_param: ExtraConfig} extraconfig: {get_param: ExtraConfig}
{{role.name.lower()}}:
tripleo::clouddomain: {get_param: CloudDomain}
# Resource for site-specific injection of root certificate # Resource for site-specific injection of root certificate
NodeTLSCAData: NodeTLSCAData:
@ -746,14 +744,6 @@ resources:
fqdn_ctlplane: {get_attr: [NetHostMap, value, ctlplane, fqdn]} fqdn_ctlplane: {get_attr: [NetHostMap, value, ctlplane, fqdn]}
fqdn_canonical: {get_attr: [NetHostMap, value, canonical, fqdn]} fqdn_canonical: {get_attr: [NetHostMap, value, canonical, fqdn]}
{{server_resource_name}}PerHostHieradata:
type: OS::Heat::Value
properties:
type: json
value:
datafiles:
host_extraconfig: {get_attr: [{{server_resource_name}}AnsibleHostVars, value]}
outputs: outputs:
ansible_host_vars_map: ansible_host_vars_map:
@ -766,14 +756,6 @@ outputs:
- host: {get_attr: [{{server_resource_name}}AnsibleHostVars, value]} - host: {get_attr: [{{server_resource_name}}AnsibleHostVars, value]}
- keys: - keys:
host: {get_attr: [{{server_resource_name}}, name]} host: {get_attr: [{{server_resource_name}}, name]}
per_host_hieradata_map:
description: |
Map of Hieradata specific per host.
value:
map_replace:
- host: {get_attr: [{{server_resource_name}}PerHostHieradata, value]}
- keys:
host: {get_attr: [{{server_resource_name}}, name]}
config_datafiles: config_datafiles:
description: The config in the full format with datafiles section. description: The config in the full format with datafiles section.
value: {get_attr: [{{server_resource_name}}ConfigDatafiles, value]} value: {get_attr: [{{server_resource_name}}ConfigDatafiles, value]}