138
138
# provision_oc_net_name }}).
139
139
140
140
# Whether to install and enable firewalld.
141
- # FIXME: Disable by default?
142
- controller_firewalld_enabled : true
141
+ controller_firewalld_enabled : false
143
142
144
143
# A list of zones to create. Each item is a dict containing a 'zone' item.
145
- # FIXME: Filter out duplicates and unset networks?
146
- controller_firewalld_zones :
147
- - zone : external
148
- - zone : mgmt_wl
149
- - zone : provision_oc
150
- - zone : provision_wl
151
- - zone : public
152
- - zone : storage
153
- - zone : tunnel
144
+ controller_firewalld_zones : " {{ controller_firewalld_zones_default | union(controller_firewalld_zones_extra) | unique | select }}"
145
+ controller_firewalld_zones_extra : []
146
+ controller_firewalld_zones_default : " {% set network_zones = [] %}{% for network in network_interfaces %}{% set _ = network_zones.append({'zone': network | net_zone}) %}{% endfor %}{{ network_zones }}"
154
147
155
148
# A firewalld zone to set as the default. Default is unset, in which case the
156
149
# default zone will not be changed.
@@ -163,46 +156,84 @@ controller_firewalld_default_zone: trusted
163
156
# - offline: true
164
157
# - permanent: true
165
158
# - state: enabled
166
- # FIXME: Add all services, add conditionals, filter out unused
167
- controller_firewalld_rules :
168
- - service : ssh
169
- zone : provision_oc
170
- - service : dhcp
171
- zone : provision_wl
172
- - service : ntp
173
- zone : provision_wl
174
- - service : tftp
175
- zone : provision_wl
176
- - port : 8089/tcp
177
- zone : provision_wl
178
- - service : cockpit
179
- state : disabled
180
- zone : public
181
- - service : dhcpv6-client
182
- state : disabled
183
- zone : public
184
- - service : ssh
185
- state : disabled
186
- zone : public
159
+ controller_firewalld_rules : " {{ controller_firewalld_rules_default | selectattr('enabled', 'true') | map(attribute='rules') | flatten | selectattr('network', 'in', network_interfaces) | selectattr('zone') | union(controller_firewalld_rules_extra) | unique | select }}"
160
+ controller_firewalld_rules_extra : []
161
+ controller_firewalld_rules_default :
162
+ # Common
163
+ - rules :
164
+ - service : ssh
165
+ zone : " {{ provision_oc_net_name | net_zone }}"
166
+ network : " {{ provision_oc_net_name }}"
167
+ state : enabled
168
+ - service : dhcp
169
+ zone : " {{ provision_wl_net_name | net_zone }}"
170
+ network : " {{ provision_wl_net_name }}"
171
+ state : enabled
172
+ - service : ntp
173
+ zone : " {{ provision_wl_net_name | net_zone }}"
174
+ network : " {{ provision_wl_net_name }}"
175
+ state : enabled
176
+ - service : tftp
177
+ zone : " {{ provision_wl_net_name | net_zone }}"
178
+ network : " {{ provision_wl_net_name }}"
179
+ state : enabled
180
+ - port : 8089/tcp
181
+ zone : " {{ provision_wl_net_name | net_zone }}"
182
+ network : " {{ provision_wl_net_name }}"
183
+ state : enabled
184
+ - service : cockpit
185
+ zone : " {{ public_net_name | net_zone }}"
186
+ network : " {{ public_net_name }}"
187
+ state : disabled
188
+ - service : dhcpv6-client
189
+ zone : " {{ public_net_name | net_zone }}"
190
+ network : " {{ public_net_name }}"
191
+ state : disabled
192
+ - service : ssh
193
+ zone : " {{ public_net_name | net_zone }}"
194
+ network : " {{ public_net_name }}"
195
+ state : disabled
196
+ enabled : true
187
197
# Designate
188
- - port : 53/tcp
189
- zone : public
190
- - port : 53/udp
191
- zone : public
192
- # Designate AXFR
193
- - port : 5354/tcp
194
- zone : public
195
- - port : 5354/udp
196
- zone : public
198
+ - rules :
199
+ - port : 53/tcp
200
+ zone : " {{ public_net_name | net_zone }}"
201
+ network : " {{ public_net_name }}"
202
+ state : enabled
203
+ - port : 53/udp
204
+ zone : " {{ public_net_name | net_zone }}"
205
+ network : " {{ public_net_name }}"
206
+ state : enabled
207
+ - port : 5354/tcp
208
+ zone : " {{ public_net_name | net_zone }}"
209
+ network : " {{ public_net_name }}"
210
+ state : enabled
211
+ - port : 5354/udp
212
+ zone : " {{ public_net_name | net_zone }}"
213
+ network : " {{ public_net_name }}"
214
+ state : enabled
215
+ enabled : " {{ kolla_enable_designate | bool }}"
197
216
# GENEVE
198
- - port : 6081/udp
199
- zone : tunnel
217
+ - rules :
218
+ - port : 6081/udp
219
+ zone : " {{ tunnel_net_name | net_zone }}"
220
+ network : " {{ tunnel_net_name }}"
221
+ state : enabled
222
+ enabled : " {{ 'geneve' in (kolla_neutron_ml2_type_drivers + kolla_neutron_ml2_tenant_network_types) | bool }}"
200
223
# VXLAN
201
- - port : 4789/udp
202
- zone : tunnel
224
+ - rules :
225
+ - port : 4789/udp
226
+ zone : " {{ tunnel_net_name | net_zone }}"
227
+ network : " {{ tunnel_net_name }}"
228
+ state : enabled
229
+ enabled : " {{ 'vxlan' in (kolla_neutron_ml2_type_drivers + kolla_neutron_ml2_tenant_network_types) | bool }}"
203
230
# Octavia
204
- - port : 5555/udp
205
- zone : lb_mgmt
231
+ - rules :
232
+ - port : 5555/udp
233
+ zone : " {{ octavia_net_name | net_zone }}"
234
+ network : " {{ octavia_net_name }}"
235
+ state : enabled
236
+ enabled : " {{ kolla_enable_octavia | bool }}"
206
237
207
238
# ##############################################################################
208
239
# Controller node swap configuration.
0 commit comments