Simplify host entries generation

This removes a resource and the the unnecessary yaql function.
Also replaces json data types with lists to reduce memory
footprint.

Change-Id: I04a6114ca3d2703ca2891d6807d49b78ffee0f97
Related-Bug: #1886203
(cherry picked from commit d573f4e878)
This commit is contained in:
Rabi Mishra 2020-07-07 10:56:25 +05:30
parent 1bac4f00fc
commit c33f910054
2 changed files with 58 additions and 69 deletions

View File

@ -402,9 +402,8 @@ resources:
VipHosts: VipHosts:
type: OS::Heat::Value type: OS::Heat::Value
properties: properties:
type: json type: comma_delimited_list
value: value:
entries:
- str_replace: - str_replace:
template: IP HOST template: IP HOST
params: params:
@ -794,31 +793,22 @@ resources:
for_each: for_each:
hostname: {get_param: DeploymentServerBlacklist} hostname: {get_param: DeploymentServerBlacklist}
# Single value comma delimited lists may be stored in strings
# that fails lists concat. Make them always lists (nested are OK)
HostsValue:
type: OS::Heat::Value
properties:
type: json
value:
entries:
- - {get_param: UndercloudHostsEntries}
- - if:
- add_vips_to_etc_hosts
- {get_attr: [VipHosts, value, entries]}
- []
{%- for role in roles %}
- {get_attr: [{{role.name}}, hosts_entry, entries]}
{%- endfor %}
- - {get_param: ExtraHostFileEntries}
HostsEntryValue: HostsEntryValue:
type: OS::Heat::Value type: OS::Heat::Value
properties: properties:
type: comma_delimited_list
value: value:
yaql: list_concat_unique:
expression: coalesce($.data, []).where($ != null).where($ != []).flatten().distinct() list_concat:
data: {get_attr: [HostsValue, value, entries]} - - {get_param: UndercloudHostsEntries}
- - if:
- add_vips_to_etc_hosts
- {get_attr: [VipHosts, value]}
- []
{%- for role in roles %}
- {get_attr: [{{role.name}}, hosts_entry]}
{%- endfor %}
- - {get_param: ExtraHostFileEntries}
CloudNames: CloudNames:
type: OS::Heat::Value type: OS::Heat::Value
@ -1130,7 +1120,7 @@ resources:
VipHostsEntries: VipHostsEntries:
if: if:
- add_vips_to_etc_hosts - add_vips_to_etc_hosts
- {get_attr: [VipHosts, value, entries]} - {get_attr: [VipHosts, value]}
- [] - []
KeystoneResourcesConfigs: KeystoneResourcesConfigs:
map_merge: map_merge:
@ -1167,7 +1157,7 @@ outputs:
value: value:
list_concat_unique: list_concat_unique:
- {get_attr: [HostsEntryValue, value]} - {get_attr: [HostsEntryValue, value]}
- {get_attr: [VipHosts, value, entries]} - {get_attr: [VipHosts, value]}
EnabledServices: EnabledServices:
description: The services enabled on each role description: The services enabled on each role
value: value:

View File

@ -641,7 +641,6 @@ outputs:
HOSTNAME: {get_attr:[{{server_resource_name}}, name]} HOSTNAME: {get_attr:[{{server_resource_name}}, name]}
hosts_entry: hosts_entry:
value: value:
entries:
- str_replace: - str_replace:
template: PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST template: PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
params: params: