Bug 2222809

Summary: should have option to disable conflicting services
Product: Red Hat Enterprise Linux 8 Reporter: Rich Megginson <rmeggins>
Component: rhel-system-rolesAssignee: Rich Megginson <rmeggins>
Status: VERIFIED --- QA Contact: David Jež <djez>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.9CC: djez, jharuda, myllynen, rhel-cs-system-management-subsystem-qe, spetrosi, vdanek
Target Milestone: rcKeywords: Triaged
Target Release: 8.9Flags: rmeggins: needinfo? (vdanek)
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: role:firewall
Fixed In Version: rhel-system-roles-1.22.0-0.16.el8 Doc Type: Enhancement
Doc Text:
Enhancement: Role will now always attempt to unmask on role execution add variable 'firewall_disable_conflicting_services' to give the option of disabling of known conflicting services - Set to false by default Update README to document the following behavior of the system role: - linux-system-roles.firewall will attempt to install, unmask, and enable firewalld - linux-system-roles.firewall can attempt to disable directly conflicting services to firewalld - and that is enabled by setting the variable 'firewall_disable_conflicting_services' to true - list of conflicting services present in vars/main.yml test cases for these changes in tests/tests_default.yml Reason: role currently fails if firewalld was masked on run conflicting services have the potential to cause errors on role run - set to false by default due to runtime overhead associated with disabling conflicting services. An example of where this overhead may be a problem is our integration tests that have no need to use the feature. - Reason for specific implementation - ansible.builtin.service module fails when run to manage services that are not installed on the system, causing errors. While ignoring errors is a potential solution, it seemed like an improper solution as it would not be able to differentiate between an installed service that failing to be stopped and disabled vs a disable that failed due to not being installed. Result: - role no longer fails if firewalld is masked - users have the option to disable conflicting services (iptables.service, nftables.service, ufw.service respectively) Issue Tracker Tickets (Jira or BZ if any): - Addresses GitHub Issues: #103, #136
Story Points: ---
Clone Of: 2222761 Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2222761    
Bug Blocks:    

Description Rich Megginson 2023-07-13 19:11:54 UTC
+++ This bug was initially created as a clone of Bug #2222761 +++

When using the firewall role only the firewalld service, not nftables, should be running to avoid any conflicts. While it's trivial to disable/mask nftables in a separate task it would be nice to have the role to do the same and thus avoid any risk for issues.  See https://github.com/linux-system-roles/firewall/issues/136 and https://github.com/linux-system-roles/firewall/pull/154