Skip to content

Commit 6a12b68

Browse files
committed
Review comments 3
1 parent fac0d01 commit 6a12b68

File tree

2 files changed

+74
-90
lines changed

2 files changed

+74
-90
lines changed

doc/source/configuration/firewall.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ follows:
2727
# Unset to leave the default zone unchanged
2828
controller_firewalld_default_zone: drop
2929
30+
.. code-block:: yaml
31+
:caption: ``etc/kayobe/kolla/globals.yml``
32+
33+
# Open up ports in firewalld for services on the public API network.
34+
enable_external_api_firewalld: true
35+
3036
This will configure the standard set of firewalld rules on controller hosts.
3137
Rule definitions are automatically added according to group membership. Rule
3238
sets exist for the following groups:

etc/kayobe/inventory/group_vars/all/firewall

Lines changed: 68 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,57 @@ stackhpc_firewalld_rules: |
3838
# Rules in this list may still contradict each other or reference non-existent
3939
# zones and interfaces
4040
stackhpc_firewalld_rules_unverified: |
41-
{{ (stackhpc_controller_firewalld_rules if 'controllers' in group_names else []) +
41+
{{ stackhpc_common_firewalld_rules +
42+
(stackhpc_controller_firewalld_rules if 'controllers' in group_names else []) +
4243
(stackhpc_compute_firewalld_rules if 'compute' in group_names else []) +
4344
(stackhpc_storage_firewalld_rules if 'storage' in group_names else []) +
4445
(stackhpc_monitoring_firewalld_rules if 'monitoring' in group_names else []) +
4546
(stackhpc_seed_firewalld_rules if 'seed' in group_names else []) +
4647
(stackhpc_seed_hypervisor_firewalld_rules if 'seed-hypervisor' in group_names else []) +
4748
(stackhpc_wazuh_manager_infra_vm_firewalld_rules if 'wazuh-manager' in group_names else []) +
48-
(stackhpc_ansible_control_infra_vm_firewalld_rules if 'ansible-control' in group_names else []) }}
49+
(stackhpc_ansible_control_infra_vm_firewalld_rules if inventory_hostname == 'localhost' else []) }}
4950

5051
###############################################################################
51-
# Controller firewalld rules
52+
# Common firewalld rules
53+
54+
stackhpc_common_firewalld_rules: "{{ stackhpc_common_firewalld_rules_default + stackhpc_common_firewalld_rules_extra }}"
55+
56+
stackhpc_common_firewalld_rules_default: |
57+
{% set stackhpc_common_firewalld_rules_formatted = [] %}
58+
{% for ruleset in stackhpc_common_firewalld_rules_template %}
59+
{% if ruleset.enabled %}
60+
{% for rule in ruleset.rules %}
61+
{% set _ = stackhpc_common_firewalld_rules_formatted.append(rule | combine({'zone': rule.network | net_zone })) %}
62+
{% endfor %}
63+
{% endif %}
64+
{% endfor %}
65+
{{ stackhpc_common_firewalld_rules_formatted }}
66+
67+
stackhpc_common_firewalld_rules_template:
68+
# Common
69+
- rules:
70+
- service: ssh
71+
network: "{{ admin_oc_net_name }}"
72+
state: enabled
73+
enabled: true
74+
- rules:
75+
- service: cockpit
76+
network: "{{ public_net_name }}"
77+
state: disabled
78+
- service: dhcpv6-client
79+
network: "{{ public_net_name }}"
80+
state: disabled
81+
enabled: "{{ 'public' in stackhpc_firewalld_zones }}"
82+
- rules:
83+
- service: ssh
84+
network: "{{ public_net_name }}"
85+
state: disabled
86+
enabled: "{{ 'public' in stackhpc_firewalld_zones && admin_oc_net_name | net_zone != 'public' }}"
87+
88+
stackhpc_common_firewalld_rules_extra: []
89+
90+
###############################################################################
91+
# Common firewalld rules
5292

5393
stackhpc_controller_firewalld_rules: "{{ stackhpc_controller_firewalld_rules_default + stackhpc_controller_firewalld_rules_extra }}"
5494

@@ -64,10 +104,18 @@ stackhpc_controller_firewalld_rules_default: |
64104
{{ stackhpc_controller_firewalld_rules_formatted }}
65105

66106
stackhpc_controller_firewalld_rules_template:
67-
# Common
107+
# Overcloud Ironic
68108
- rules:
69-
- service: ssh
70-
network: "{{ admin_oc_net_name }}"
109+
# Ironic inspector API
110+
- port: 5050/tcp
111+
network: "{{ provision_oc_net_name }}"
112+
state: enabled
113+
# Ironic API
114+
- port: 6385/tcp
115+
network: "{{ provision_oc_net_name }}"
116+
state: enabled
117+
- port: 8089/tcp
118+
network: "{{ provision_wl_net_name }}"
71119
state: enabled
72120
- service: dhcp
73121
network: "{{ provision_wl_net_name }}"
@@ -78,18 +126,7 @@ stackhpc_controller_firewalld_rules_template:
78126
- service: tftp
79127
network: "{{ provision_wl_net_name }}"
80128
state: enabled
81-
- service: cockpit
82-
network: "{{ public_net_name }}"
83-
state: disabled
84-
- service: dhcpv6-client
85-
network: "{{ public_net_name }}"
86-
state: disabled
87-
enabled: true
88-
- rules:
89-
- service: ssh
90-
network: "{{ public_net_name }}"
91-
state: disabled
92-
enabled: "{{ public_net_name | net_zone != admin_oc_net_name | net_zone }}"
129+
enabled: "{{ kolla_enable_ironic }}"
93130
# Designate
94131
- rules:
95132
- port: 53/tcp
@@ -123,12 +160,6 @@ stackhpc_controller_firewalld_rules_template:
123160
network: "{{ octavia_net_name }}"
124161
state: enabled
125162
enabled: "{{ kolla_enable_octavia | bool }}"
126-
# Overcloud Ironic
127-
- rules:
128-
- port: 8089/tcp
129-
network: "{{ provision_wl_net_name }}"
130-
state: enabled
131-
enabled: "{{ kolla_enable_ironic | bool }}"
132163

133164
stackhpc_controller_firewalld_rules_extra: []
134165

@@ -151,20 +182,6 @@ stackhpc_compute_firewalld_rules_default: |
151182
{{ stackhpc_compute_firewalld_rules_formatted }}
152183

153184
stackhpc_compute_firewalld_rules_template:
154-
# Common
155-
- rules:
156-
- service: ssh
157-
network: "{{ admin_oc_net_name }}"
158-
state: enabled
159-
- service: dhcpv6-client
160-
network: "{{ public_net_name }}"
161-
state: disabled
162-
enabled: true
163-
- rules:
164-
- service: ssh
165-
network: "{{ public_net_name }}"
166-
state: disabled
167-
enabled: "{{ public_net_name | net_zone != admin_oc_net_name | net_zone }}"
168185
# GENEVE
169186
- rules:
170187
- port: 6081/udp
@@ -199,12 +216,6 @@ stackhpc_storage_firewalld_rules_default: |
199216
{{ stackhpc_storage_firewalld_rules_formatted }}
200217

201218
stackhpc_storage_firewalld_rules_template:
202-
# Common
203-
- rules:
204-
- service: ssh
205-
network: "{{ admin_oc_net_name }}"
206-
state: enabled
207-
enabled: true
208219
# Ceph Prometheus exporter
209220
- rules:
210221
- port: 9283/tcp
@@ -244,12 +255,7 @@ stackhpc_monitoring_firewalld_rules_default: |
244255
{% endfor %}
245256
{{ stackhpc_monitoring_firewalld_rules_formatted }}
246257

247-
stackhpc_monitoring_firewalld_rules_template:
248-
- rules:
249-
- service: ssh
250-
network: "{{ admin_oc_net_name }}"
251-
state: enabled
252-
enabled: true
258+
stackhpc_monitoring_firewalld_rules_template: []
253259

254260
stackhpc_monitoring_firewalld_rules_extra: []
255261

@@ -273,9 +279,6 @@ stackhpc_wazuh_manager_infra_vm_firewalld_rules_default: |
273279

274280
stackhpc_wazuh_manager_infra_vm_firewalld_rules_template:
275281
- rules:
276-
- service: ssh
277-
network: "{{ admin_oc_net_name }}"
278-
state: enabled
279282
- port: 1514/tcp
280283
network: "{{ provision_oc_net_name }}"
281284
state: enabled
@@ -319,12 +322,7 @@ stackhpc_ansible_control_infra_vm_firewalld_rules_default: |
319322
{% endfor %}
320323
{{ stackhpc_ansible_control_infra_vm_firewalld_rules_formatted }}
321324

322-
stackhpc_ansible_control_infra_vm_firewalld_rules_template:
323-
- rules:
324-
- service: ssh
325-
network: "{{ provision_oc_net_name }}"
326-
state: enabled
327-
enabled: true
325+
stackhpc_ansible_control_infra_vm_firewalld_rules_template: []
328326

329327
stackhpc_ansible_control_infra_vm_firewalld_rules_extra: []
330328

@@ -347,30 +345,6 @@ stackhpc_seed_firewalld_rules_default: |
347345
{{ stackhpc_seed_firewalld_rules_formatted }}
348346

349347
stackhpc_seed_firewalld_rules_template:
350-
# Common
351-
- rules:
352-
- service: ssh
353-
network: "{{ admin_oc_net_name }}"
354-
state: enabled
355-
- service: dhcp
356-
network: "{{ provision_oc_net_name }}"
357-
state: enabled
358-
- service: tftp
359-
network: "{{ provision_oc_net_name }}"
360-
state: enabled
361-
- service: ntp
362-
network: "{{ provision_oc_net_name }}"
363-
state: enabled
364-
# Disable default services in public zone
365-
- service: dhcpv6-client
366-
state: disabled
367-
network: "{{ public_net_name }}"
368-
enabled: true
369-
- rules:
370-
- service: ssh
371-
state: disabled
372-
network: "{{ public_net_name }}"
373-
enabled: "{{ public_net_name | net_zone != admin_oc_net_name | net_zone }}"
374348
# Pulp server
375349
- rules:
376350
- service: "{{ pulp_port }}/tcp"
@@ -397,13 +371,22 @@ stackhpc_seed_firewalld_rules_template:
397371
- port: 6385/tcp
398372
network: "{{ provision_oc_net_name }}"
399373
state: enabled
374+
- service: dhcp
375+
network: "{{ provision_oc_net_name }}"
376+
state: enabled
377+
- service: tftp
378+
network: "{{ provision_oc_net_name }}"
379+
state: enabled
380+
- service: ntp
381+
network: "{{ provision_oc_net_name }}"
382+
state: enabled
400383
enabled: true #FIXME: Make rules conditional on Bifrost deployment
401384
# Redfish exporter
402385
- rules:
403386
- port: 9610/tcp
404387
network: "{{ provision_oc_net_name }}"
405388
state: enabled
406-
enabled: true
389+
enabled: "{{ stackhpc_enable_redfish_exporter }}"
407390

408391
stackhpc_seed_firewalld_rules_extra: []
409392

@@ -425,11 +408,6 @@ stackhpc_seed_hypervisor_firewalld_rules_default: |
425408
{% endfor %}
426409
{{ stackhpc_seed_hypervisor_firewalld_rules_formatted }}
427410

428-
stackhpc_seed_hypervisor_firewalld_rules_template:
429-
- rules:
430-
- service: ssh
431-
network: "{{ admin_oc_net_name }}"
432-
state: enabled
433-
enabled: true
411+
stackhpc_seed_hypervisor_firewalld_rules_template: []
434412

435413
stackhpc_seed_hypervisor_firewalld_rules_extra: []

0 commit comments

Comments
 (0)