blob: ac4600f8378d01a1a666e17abd898e7b2a974795 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
---
- name: Install firewalld packages
action: "{{ ansible_pkg_mgr }} name=firewalld state=present"
when: not openshift.common.is_containerized | bool
register: install_result
- name: Check if iptables-services is installed
command: rpm -q iptables-services
register: pkg_check
failed_when: pkg_check.rc > 1
changed_when: no
- name: Ensure iptables services are not enabled
service:
name: "{{ item }}"
state: stopped
enabled: no
with_items:
- iptables
- ip6tables
when: pkg_check.rc == 0
- name: Reload systemd units
command: systemctl daemon-reload
when: install_result | changed
- name: Start and enable firewalld service
service:
name: firewalld
state: started
enabled: yes
register: result
- name: need to pause here, otherwise the firewalld service starting can sometimes cause ssh to fail
pause: seconds=10
when: result | changed
- name: Mask iptables services
command: systemctl mask "{{ item }}"
register: result
changed_when: "'iptables' in result.stdout"
with_items:
- iptables
- ip6tables
when: pkg_check.rc == 0
ignore_errors: yes
# TODO: Ansible 1.9 will eliminate the need for separate firewalld tasks for
# enabling rules and making them permanent with the immediate flag
- name: Add firewalld allow rules
firewalld:
port: "{{ item.port }}"
permanent: false
state: enabled
with_items: os_firewall_allow
when: os_firewall_allow is defined
- name: Persist firewalld allow rules
firewalld:
port: "{{ item.port }}"
permanent: true
state: enabled
with_items: os_firewall_allow
when: os_firewall_allow is defined
- name: Remove firewalld allow rules
firewalld:
port: "{{ item.port }}"
permanent: false
state: disabled
with_items: os_firewall_deny
when: os_firewall_deny is defined
- name: Persist removal of firewalld allow rules
firewalld:
port: "{{ item.port }}"
permanent: true
state: disabled
with_items: os_firewall_deny
when: os_firewall_deny is defined
|