176b30649b
This change (with its dependent reviews) creates a separate VIP for the OVN DBS service. A more detailed explanation can be found in https://bugs.launchpad.net/tripleo/+bug/1841811. The short explanation is that the OVN DBS HA service puts some additional constraints on the VIP it uses and that is problematic when that VIP is used by other services (e.g. a change in OVN DBS master will move the VIP and will also reset all mysql connections. It also prevents us splitting OVN DBS from where haproxy runs). Tested as follows: A) Deployed a mster environment with this review and all its dependencies and correctly obtained an OVN DBS service with its own Vip and the OVN services (controller/metadata) pointing to this separate Vip B) Deployed a master environment as is and then applied this review + dependencies and observed that a redeploy correctly created a new VIP, reconfigured the services to point to the new VIP and that the old obsolete constraints created around the per-network VIP were removed Closes-Bug: #1841811 Depends-On: Ic62b0fbc0fee40638811a5cd77a5dc5a4d82acf5 Change-Id: I620e37117c26b5b51bf9e1eda91daeb00fdf0f43
47 lines
2.5 KiB
YAML
47 lines
2.5 KiB
YAML
# ******************************************************************************
|
|
# DEPRECATED: Modify networks used for custom roles by modifying the role file
|
|
# in the roles/ directory, or disable the network entirely by setting network to
|
|
# "enabled: false" in network_data.yaml.
|
|
# ******************************************************************************
|
|
# Enable the creation of Neutron networks for isolated Overcloud
|
|
# traffic and configure each role to assign ports (related
|
|
# to that role) on these networks. This version of the environment
|
|
# has no dedicated VLAN for tunneling, for deployments that use
|
|
# VLAN mode, flat provider networks, etc.
|
|
resource_registry:
|
|
# networks as defined in network_data.yaml, except for tenant net
|
|
{%- for network in networks if network.enabled|default(true) and network.name != 'Tenant' %}
|
|
OS::TripleO::Network::{{network.name}}: ../network/{{network.name_lower|default(network.name.lower())}}.yaml
|
|
{%- endfor %}
|
|
OS::TripleO::Network::Tenant: OS::Heat::None
|
|
|
|
# Port assignments for the VIPs
|
|
{%- for network in networks if network.vip and network.name != 'Tenant' %}
|
|
OS::TripleO::Network::Ports::{{network.name}}VipPort: ../network/ports/{{network.name_lower|default(network.name.lower())}}.yaml
|
|
{%- endfor %}
|
|
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml
|
|
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/vip.yaml
|
|
|
|
# Port assignments for each role are determined by the role definition.
|
|
{%- for role in roles %}
|
|
{#- Convert net map or net list to internal list of networks #}
|
|
{#- NOTE(hjensas): For backward compatibility support role data with both #}
|
|
{#- networks map (new schema) and network list (old schema). #}
|
|
{%- if role.networks is mapping %}
|
|
{%- set _role_networks = [] %}
|
|
{%- for key, val in role.networks.items() %}
|
|
{%- set _ = _role_networks.append(key) %}
|
|
{%- endfor %}
|
|
{%- else %}
|
|
{%- set _role_networks = role.networks %}
|
|
{%- endif %}
|
|
# Port assignments for the {{role.name}} role.
|
|
{%- for network in networks %}
|
|
{%- if network.name in _role_networks and network.enabled|default(true) and network.name != 'Tenant'%}
|
|
OS::TripleO::{{role.name}}::Ports::{{network.name}}Port: ../network/ports/{{network.name_lower|default(network.name.lower())}}.yaml
|
|
{%- elif network.enabled|default(true) %}
|
|
OS::TripleO::{{role.name}}::Ports::{{network.name}}Port: ../network/ports/noop.yaml
|
|
{%- endif %}
|
|
{%- endfor %}
|
|
{%- endfor %}
|