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:
type: json
default: {}
{{role.name}}PerHostHieradata:
type: json
default: {}
{{role.name}}HieradataVars:
type: json
default: {}
@ -202,6 +199,12 @@ parameters:
EnableInternalTLS:
type: boolean
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:
{% for role in enabled_roles %}
@ -367,6 +370,7 @@ outputs:
{%- endfor %}
cloud_names: {get_param: CloudNames}
enable_internal_tls: {get_param: EnableInternalTLS}
cloud_domain: {get_param: CloudDomain}
common_deploy_steps_tasks: {get_file: deploy-steps-tasks.yaml}
docker_puppet_script: {get_file: ./container-puppet.py}
all_nodes_validation_script.sh : {get_file: ../validation-scripts/all-nodes.sh}
@ -506,16 +510,6 @@ outputs:
hieradata_variable_end_string: $$
hieradata_files: "{{ '{{' }} lookup('file', '{{role.name}}/deployment-hierarchy.yaml') {{ '}}' }}"
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 %}
tags:
- overcloud
@ -538,6 +532,8 @@ outputs:
- all_nodes
- vip_data
- net_ip_map
- cloud_domain
- fqdn
when: tripleo_role_name == '{{role.name}}'
tags:
- overcloud
@ -804,7 +800,6 @@ outputs:
{%- for role in roles %}
{{role.name}}/deployment-hieradata.j2.yaml: {get_param: {{role.name}}DeploymentHieradata}
{{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}
{%- endfor %}
update_steps_tasks: |

View File

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

View File

@ -660,8 +660,6 @@ resources:
{%- endif %}
- {get_param: {{role.name}}ExtraConfig}
extraconfig: {get_param: ExtraConfig}
{{role.name.lower()}}:
tripleo::clouddomain: {get_param: CloudDomain}
# Resource for site-specific injection of root certificate
NodeTLSCAData:
@ -746,14 +744,6 @@ resources:
fqdn_ctlplane: {get_attr: [NetHostMap, value, ctlplane, 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:
ansible_host_vars_map:
@ -766,14 +756,6 @@ outputs:
- host: {get_attr: [{{server_resource_name}}AnsibleHostVars, value]}
- keys:
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:
description: The config in the full format with datafiles section.
value: {get_attr: [{{server_resource_name}}ConfigDatafiles, value]}