@@ -38,17 +38,57 @@ stackhpc_firewalld_rules: |
38
38
# Rules in this list may still contradict each other or reference non-existent
39
39
# zones and interfaces
40
40
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 []) +
42
43
(stackhpc_compute_firewalld_rules if 'compute' in group_names else []) +
43
44
(stackhpc_storage_firewalld_rules if 'storage' in group_names else []) +
44
45
(stackhpc_monitoring_firewalld_rules if 'monitoring' in group_names else []) +
45
46
(stackhpc_seed_firewalld_rules if 'seed' in group_names else []) +
46
47
(stackhpc_seed_hypervisor_firewalld_rules if 'seed-hypervisor' in group_names else []) +
47
48
(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 []) }}
49
50
50
51
###############################################################################
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
52
92
53
93
stackhpc_controller_firewalld_rules: "{{ stackhpc_controller_firewalld_rules_default + stackhpc_controller_firewalld_rules_extra }}"
54
94
@@ -64,10 +104,18 @@ stackhpc_controller_firewalld_rules_default: |
64
104
{{ stackhpc_controller_firewalld_rules_formatted }}
65
105
66
106
stackhpc_controller_firewalld_rules_template:
67
- # Common
107
+ # Overcloud Ironic
68
108
- 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 }}"
71
119
state: enabled
72
120
- service: dhcp
73
121
network: "{{ provision_wl_net_name }}"
@@ -78,18 +126,7 @@ stackhpc_controller_firewalld_rules_template:
78
126
- service: tftp
79
127
network: "{{ provision_wl_net_name }}"
80
128
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 }}"
93
130
# Designate
94
131
- rules:
95
132
- port: 53/tcp
@@ -123,12 +160,6 @@ stackhpc_controller_firewalld_rules_template:
123
160
network: "{{ octavia_net_name }}"
124
161
state: enabled
125
162
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 }}"
132
163
133
164
stackhpc_controller_firewalld_rules_extra: []
134
165
@@ -151,20 +182,6 @@ stackhpc_compute_firewalld_rules_default: |
151
182
{{ stackhpc_compute_firewalld_rules_formatted }}
152
183
153
184
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 }}"
168
185
# GENEVE
169
186
- rules:
170
187
- port: 6081/udp
@@ -199,12 +216,6 @@ stackhpc_storage_firewalld_rules_default: |
199
216
{{ stackhpc_storage_firewalld_rules_formatted }}
200
217
201
218
stackhpc_storage_firewalld_rules_template:
202
- # Common
203
- - rules:
204
- - service: ssh
205
- network: "{{ admin_oc_net_name }}"
206
- state: enabled
207
- enabled: true
208
219
# Ceph Prometheus exporter
209
220
- rules:
210
221
- port: 9283/tcp
@@ -244,12 +255,7 @@ stackhpc_monitoring_firewalld_rules_default: |
244
255
{% endfor %}
245
256
{{ stackhpc_monitoring_firewalld_rules_formatted }}
246
257
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: []
253
259
254
260
stackhpc_monitoring_firewalld_rules_extra: []
255
261
@@ -273,9 +279,6 @@ stackhpc_wazuh_manager_infra_vm_firewalld_rules_default: |
273
279
274
280
stackhpc_wazuh_manager_infra_vm_firewalld_rules_template:
275
281
- rules:
276
- - service: ssh
277
- network: "{{ admin_oc_net_name }}"
278
- state: enabled
279
282
- port: 1514/tcp
280
283
network: "{{ provision_oc_net_name }}"
281
284
state: enabled
@@ -319,12 +322,7 @@ stackhpc_ansible_control_infra_vm_firewalld_rules_default: |
319
322
{% endfor %}
320
323
{{ stackhpc_ansible_control_infra_vm_firewalld_rules_formatted }}
321
324
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: []
328
326
329
327
stackhpc_ansible_control_infra_vm_firewalld_rules_extra: []
330
328
@@ -347,30 +345,6 @@ stackhpc_seed_firewalld_rules_default: |
347
345
{{ stackhpc_seed_firewalld_rules_formatted }}
348
346
349
347
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 }}"
374
348
# Pulp server
375
349
- rules:
376
350
- service: "{{ pulp_port }}/tcp"
@@ -397,13 +371,22 @@ stackhpc_seed_firewalld_rules_template:
397
371
- port: 6385/tcp
398
372
network: "{{ provision_oc_net_name }}"
399
373
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
400
383
enabled: true #FIXME: Make rules conditional on Bifrost deployment
401
384
# Redfish exporter
402
385
- rules:
403
386
- port: 9610/tcp
404
387
network: "{{ provision_oc_net_name }}"
405
388
state: enabled
406
- enabled: true
389
+ enabled: "{{ stackhpc_enable_redfish_exporter }}"
407
390
408
391
stackhpc_seed_firewalld_rules_extra: []
409
392
@@ -425,11 +408,6 @@ stackhpc_seed_hypervisor_firewalld_rules_default: |
425
408
{% endfor %}
426
409
{{ stackhpc_seed_hypervisor_firewalld_rules_formatted }}
427
410
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: []
434
412
435
413
stackhpc_seed_hypervisor_firewalld_rules_extra: []
0 commit comments