Merge "Refactor cellv2 host discovery logic to avoid races" into stable/pike
[apex-tripleo-heat-templates.git] / environments / network-isolation-v6.j2.yaml
1 {%- set primary_role = [roles[0]] -%}
2 {%- for role in roles -%}
3   {%- if 'primary' in role.tags and 'controller' in role.tags -%}
4     {%- set _ = primary_role.pop() -%}
5     {%- set _ = primary_role.append(role) -%}
6   {%- endif -%}
7 {%- endfor -%}
8 {%- set primary_role_name = primary_role[0].name -%}
9 # Enable the creation of Neutron networks for isolated Overcloud
10 # traffic and configure each role to assign ports (related
11 # to that role) on these networks.
12 # primary role is: {{primary_role_name}}
13 resource_registry:
14   # networks as defined in network_data.yaml
15   {%- for network in networks if network.enabled|default(true) %}
16     {%- if network.name != 'Tenant' %}
17   OS::TripleO::Network::{{network.name}}: ../network/{{network.name_lower|default(network.name.lower())}}_v6.yaml
18     {%- else %}
19     # IPv4 until OVS and Neutron support IPv6 tunnel endpoints
20   OS::TripleO::Network::{{network.name}}: ../network/{{network.name_lower|default(network.name.lower())}}.yaml
21     {%- endif %}
22   {%- endfor %}
23
24   # Port assignments for the VIPs
25   {%- for network in networks if network.vip and network.enabled|default(true) %}
26   OS::TripleO::Network::Ports::{{network.name}}VipPort: ../network/ports/{{network.name_lower|default(network.name.lower())}}_v6.yaml
27   {%- endfor %}
28
29   OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip_v6.yaml
30
31   # Port assignments by role, edit role definition to assign networks to roles.
32 {%- for role in roles %}
33   # Port assignments for the {{role.name}}
34   {%- for network in networks %}
35     {%- if network.name in role.networks|default([]) and network.enabled|default(true) and network.name != 'Tenant' %}
36   OS::TripleO::{{role.name}}::Ports::{{network.name}}Port: ../network/ports/{{network.name_lower|default(network.name.lower())}}_v6.yaml
37     {%- elif network.name in role.networks|default([]) and network.enabled|default(true) and network.name == 'Tenant' %}
38     # IPv4 until OVS and Neutron support IPv6 tunnel endpoints
39   OS::TripleO::{{role.name}}::Ports::{{network.name}}Port: ../network/ports/{{network.name_lower|default(network.name.lower())}}.yaml
40     {%- endif %}
41   {%- endfor %}
42 {% endfor %}
43
44
45 parameter_defaults:
46   # Enable IPv6 for Ceph.
47   CephIPv6: True
48   # Enable IPv6 for Corosync. This is required when Corosync is using an IPv6 IP in the cluster.
49   CorosyncIPv6: True
50   # Enable IPv6 for MongoDB. This is required when MongoDB is using an IPv6 IP.
51   MongoDbIPv6: True
52   # Enable various IPv6 features in Nova.
53   NovaIPv6: True
54   # Enable IPv6 environment for RabbitMQ.
55   RabbitIPv6: True
56   # Enable IPv6 environment for Memcached.
57   MemcachedIPv6: True
58   # Enable IPv6 environment for MySQL.
59   MysqlIPv6: True