Fix custom network.name_lower in krb-service-principals

The lowercase network names was hardcoded to 'external',
'internal_api' and 'storage_mgmt'. Use jinja to get the
network.name_lower value from network_data.yaml instead
so that users can customize the lowercase network name.

Handle service_net_map_replace in the jinja2 logic so that
service_net_map_replace works for both default networks and
custom networks.

Enables a user either to change 'name_lower' of a network
and overriding the ServiceNetMap accordingly, as well as
user changeing 'name_lower' and use 'service_net_map_replace'
so that the default ServiceNetMap can be used.

Closes-Bug: #1830852
Change-Id: Ie9bd482782ff770d90dfc38a585237812ed81c06
(cherry picked from commit c0fcf8674d)
(cherry picked from commit f708ab7a82)
This commit is contained in:
Harald Jensås 2019-05-29 09:34:52 +02:00
parent bb4fb9d3d4
commit 379d6ad768
2 changed files with 26 additions and 3 deletions

View File

@ -71,13 +71,29 @@ resources:
fqdns:
{%- for network in networks if network.vip|default(false) and network.name in role.networks %}
{%- if network.name == 'External' %}
external: {get_param: CloudName}
{%- if network.service_net_map_replace is defined %}
{{network.service_net_map_replace}}: {get_param: CloudName}
{%- else %}
{{network.name_lower}}: {get_param: CloudName}
{%- endif %}
{%- elif network.name == 'InternalApi' %}
internal_api: {get_param: CloudNameInternal}
{%- if network.service_net_map_replace is defined %}
{{network.service_net_map_replace}}: {get_param: CloudNameInternal}
{%- else %}
{{network.name_lower}}: {get_param: CloudNameInternal}
{%- endif %}
{%- elif network.name == 'StorageMgmt' %}
storage_mgmt: {get_param: CloudNameStorageManagement}
{%- if network.service_net_map_replace is defined %}
{{network.service_net_map_replace}}: {get_param: CloudNameStorageManagement}
{%- else %}
{{network.name_lower}}: {get_param: CloudNameStorageManagement}
{%- endif %}
{%- else %}
{%- if network.service_net_map_replace is defined %}
{{network.service_net_map_replace}}: {get_param: CloudNameStorageManagement}
{%- else %}
{{network.name_lower}}: {get_param: CloudName{{network.name}}}
{%- endif %}
{%- endif %}
{%- endfor %}
ctlplane: {get_param: CloudNameCtlplane}

View File

@ -0,0 +1,7 @@
---
fixes:
- |
Fixes an issue where deployment would fail if a non-default ``name_lower``
is used in network data for one of the networks: ``External``,
``InternalApi`` or ``StorageMgmt``.
(See `bug: 1830852 <https://bugs.launchpad.net/tripleo/+bug/1830852>`_.)