@@ -12,7 +12,17 @@ stackhpc_firewalld_zones: |
12
12
{% endfor %}
13
13
{{ network_zones }}
14
14
15
+ # Rules are filtered to ensure that none are conflicting
15
16
stackhpc_firewalld_rules: |
17
+ {% set stackhpc_firewalld_rules_filtered = [] %}
18
+ {% for rule in stackhpc_firewalld_rules_unfiltered %}
19
+ {% if rule | ansible.utils.remove_keys('state') not in stackhpc_firewalld_rules_filtered | map('ansible.utils.remove_keys', 'state') %}
20
+ {% set _ = stackhpc_firewalld_rules_filtered.append(rule) %}
21
+ {% endif %}
22
+ {% endfor %}
23
+ {{ stackhpc_firewalld_rules_filtered }}
24
+
25
+ stackhpc_firewalld_rules_unfiltered: |
16
26
{{ (stackhpc_controller_firewalld_rules if 'controllers' in group_names else []) +
17
27
(stackhpc_compute_firewalld_rules if 'compute' in group_names else []) +
18
28
(stackhpc_storage_firewalld_rules if 'storage' in group_names else []) +
@@ -314,24 +324,89 @@ stackhpc_ansible_control_infra_vm_firewalld_rules_extra: []
314
324
###############################################################################
315
325
# Seed firewalld rules
316
326
327
+ stackhpc_seed_firewalld_rules: >-
328
+ {{ stackhpc_seed_firewalld_rules_default |
329
+ selectattr('enabled', 'true') |
330
+ map(attribute='rules') |
331
+ flatten |
332
+ selectattr('network', 'in', network_interfaces) |
333
+ selectattr('zone') |
334
+ union(stackhpc_seed_firewalld_rules_extra) |
335
+ unique |
336
+ select }}
317
337
318
- stackhpc_seed_firewalld_rules: []
319
- # stackhpc_seed_firewalld_rules: >-
320
- # {{ stackhpc_seed_firewalld_rules_default |
321
- # selectattr('enabled', 'true') |
322
- # map(attribute='rules') |
323
- # flatten |
324
- # selectattr('network', 'in', network_interfaces) |
325
- # selectattr('zone') |
326
- # union(stackhpc_seed_firewalld_rules_extra) |
327
- # unique |
328
- # select }}
329
-
330
- # TODO: do
331
- stackhpc_seed_firewalld_rules_default: []
332
- # pulp
333
- # bifrost
334
- # squid?
338
+ stackhpc_seed_firewalld_rules_default:
339
+ # Common
340
+ - rules:
341
+ - service: ssh
342
+ zone: "{{ provision_oc_net_name | net_zone }}"
343
+ network: "{{ provision_oc_net_name }}"
344
+ state: enabled
345
+ - service: dhcp
346
+ zone: "{{ provision_oc_net_name | net_zone }}"
347
+ network: "{{ provision_oc_net_name }}"
348
+ state: enabled
349
+ - service: tftp
350
+ zone: "{{ provision_oc_net_name | net_zone }}"
351
+ network: "{{ provision_oc_net_name }}"
352
+ state: enabled
353
+ - service: ntp
354
+ zone: "{{ provision_oc_net_name | net_zone }}"
355
+ network: "{{ provision_oc_net_name }}"
356
+ state: enabled
357
+ - service: ntp
358
+ zone: "{{ switch_mgmt_net_name | net_zone }}"
359
+ network: "{{ switch_mgmt_net_name }}"
360
+ state: enabled
361
+ # Disable default services in public zone
362
+ - service: dhcpv6-client
363
+ state: disabled
364
+ zone: "{{ public_net_name | net_zone }}"
365
+ network: "{{ public_net_name }}"
366
+ - service: ssh
367
+ state: disabled
368
+ zone: "{{ public_net_name | net_zone }}"
369
+ network: "{{ public_net_name }}"
370
+ enabled: true
371
+ # Pulp server
372
+ - rules:
373
+ - service: http
374
+ zone: "{{ provision_oc_net_name | net_zone }}"
375
+ network: "{{ provision_oc_net_name }}"
376
+ state: enabled
377
+ # nginx
378
+ - port: 8080/tcp
379
+ zone: "{{ provision_oc_net_name | net_zone }}"
380
+ network: "{{ provision_oc_net_name }}"
381
+ state: enabled
382
+ enabled: "{{ seed_pulp_container_enabled | bool }}"
383
+ # Squid proxy
384
+ - rules:
385
+ - service: squid
386
+ zone: "{{ provision_oc_net_name | net_zone }}"
387
+ network: "{{ provision_oc_net_name }}"
388
+ state: enabled
389
+ enabled: "{{ seed_squid_container_enabled | bool }}"
390
+ # Ironic
391
+ - rules:
392
+ # Ironic inspector API
393
+ - port: 5050/tcp
394
+ zone: "{{ provision_oc_net_name | net_zone }}"
395
+ network: "{{ provision_oc_net_name }}"
396
+ state: enabled
397
+ # Ironic API
398
+ - port: 6385/tcp
399
+ zone: "{{ provision_oc_net_name | net_zone }}"
400
+ network: "{{ provision_oc_net_name }}"
401
+ state: enabled
402
+ enabled: "{{ kolla_enable_bifrost | bool }}"
403
+ # Redfish exporter
404
+ - rules:
405
+ - port: 9610/tcp
406
+ zone: "{{ provision_oc_net_name | net_zone }}"
407
+ network: "{{ provision_oc_net_name }}"
408
+ state: enabled
409
+ enabled: true
335
410
336
411
stackhpc_seed_firewalld_rules_extra: []
337
412
@@ -349,7 +424,6 @@ stackhpc_seed_hypervisor_firewalld_rules: >-
349
424
unique |
350
425
select }}
351
426
352
- # TODO: Check
353
427
stackhpc_seed_hypervisor_firewalld_rules_default:
354
428
- rules:
355
429
- service: ssh
0 commit comments