Skip to content

Commit 38cf609

Browse files
committed
Filter conflicting rules and add seed config
1 parent c5398fc commit 38cf609

File tree

1 file changed

+92
-18
lines changed
  • etc/kayobe/inventory/group_vars/all

1 file changed

+92
-18
lines changed

etc/kayobe/inventory/group_vars/all/firewall

Lines changed: 92 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,17 @@ stackhpc_firewalld_zones: |
1212
{% endfor %}
1313
{{ network_zones }}
1414

15+
# Rules are filtered to ensure that none are conflicting
1516
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: |
1626
{{ (stackhpc_controller_firewalld_rules if 'controllers' in group_names else []) +
1727
(stackhpc_compute_firewalld_rules if 'compute' in group_names else []) +
1828
(stackhpc_storage_firewalld_rules if 'storage' in group_names else []) +
@@ -314,24 +324,89 @@ stackhpc_ansible_control_infra_vm_firewalld_rules_extra: []
314324
###############################################################################
315325
# Seed firewalld rules
316326

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 }}
317337

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
335410

336411
stackhpc_seed_firewalld_rules_extra: []
337412

@@ -349,7 +424,6 @@ stackhpc_seed_hypervisor_firewalld_rules: >-
349424
unique |
350425
select }}
351426

352-
# TODO: Check
353427
stackhpc_seed_hypervisor_firewalld_rules_default:
354428
- rules:
355429
- service: ssh

0 commit comments

Comments
 (0)