fix: install python311-firewall on SLES 15#300
Merged
richm merged 1 commit intolinux-system-roles:mainfrom Nov 3, 2025
Merged
Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuideIntroduce SLES 15 and SLES_SAP 15–specific variable files to ensure the python311-firewall package is installed, resolving role failures on SLES 15. Entity relationship diagram for new SLES 15 distro-specific variableserDiagram
SLES_15 {
string __firewall_packages_extra
}
SLES_SAP_15 {
string __firewall_packages_extra
}
SLES_15 ||--|| SLES_SAP_15 : "similar structure"
Class diagram for new SLES 15 and SLES_SAP 15 variable filesclassDiagram
class SLES_15 {
+__firewall_packages_extra: list[string]
}
class SLES_SAP_15 {
+__firewall_packages_extra: list[string]
}
SLES_15 <|-- SLES_SAP_15
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #300 +/- ##
==========================================
- Coverage 61.09% 58.26% -2.83%
==========================================
Files 2 2
Lines 910 1294 +384
==========================================
+ Hits 556 754 +198
- Misses 354 540 +186
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
richm
approved these changes
Nov 3, 2025
Spectro34
pushed a commit
to Spectro34/firewall
that referenced
this pull request
Feb 16, 2026
The vars/SLES_15.yml and vars/SLES_SAP_15.yml files (added in upstream PR linux-system-roles#300) were never loaded because the firewall role lacks the standard set_vars mechanism that other linux-system-roles have (ssh, timesync, metrics, etc.). Add tasks/set_vars.yml with the standard include_vars loop that loads platform-specific vars files by os_family, distribution, and version. Include it from tasks/main.yml before firewalld.yml. The facts gathering in firewalld.yml becomes a harmless no-op since set_vars.yml already ensures facts are available. Also add vars/SLES_16.yml with python3-firewall package, which is needed on SLE 16 where firewalld does not pull in Python bindings as a dependency. No impact on RHEL/Fedora — no matching vars files exist for those platforms, so the include_vars loop skips all iterations and falls through to the defaults in vars/main.yml. Files changed: - tasks/set_vars.yml (new) — standard platform vars loader - tasks/main.yml — include set_vars.yml before firewalld.yml - vars/SLES_16.yml (new) — python3-firewall for SLE 16 - firewalld.yml — NOT modified
Spectro34
pushed a commit
to Spectro34/firewall
that referenced
this pull request
Feb 16, 2026
The vars/SLES_15.yml and vars/SLES_SAP_15.yml files (added in upstream PR linux-system-roles#300) were never loaded because the firewall role lacks the standard set_vars mechanism that other linux-system-roles have (ssh, timesync, metrics, etc.). Add tasks/set_vars.yml with the standard include_vars loop that loads platform-specific vars files by os_family, distribution, and version. Include it from tasks/main.yml before firewalld.yml. The facts gathering in firewalld.yml becomes a harmless no-op since set_vars.yml already ensures facts are available. Also add vars/SLES_16.yml with python3-firewall package, which is needed on SLE 16 where firewalld does not pull in Python bindings as a dependency. No impact on RHEL/Fedora — no matching vars files exist for those platforms, so the include_vars loop skips all iterations and falls through to the defaults in vars/main.yml. Files changed: - tasks/set_vars.yml (new) — standard platform vars loader - tasks/main.yml — include set_vars.yml before firewalld.yml - vars/SLES_16.yml (new) — python3-firewall for SLE 16 - firewalld.yml — NOT modified
Spectro34
pushed a commit
to Spectro34/firewall
that referenced
this pull request
Feb 16, 2026
The vars/SLES_15.yml and vars/SLES_SAP_15.yml files (added in upstream PR linux-system-roles#300) were never loaded because the firewall role lacks the standard set_vars mechanism that other linux-system-roles have (ssh, timesync, metrics, etc.). Add tasks/set_vars.yml with the standard include_vars loop that loads platform-specific vars files by os_family, distribution, and version. Include it from tasks/main.yml before firewalld.yml. The facts gathering in firewalld.yml becomes a harmless no-op since set_vars.yml already ensures facts are available. Also add vars/SLES_16.yml with python3-firewall package, which is needed on SLE 16 where firewalld does not pull in Python bindings as a dependency. No impact on RHEL/Fedora — no matching vars files exist for those platforms, so the include_vars loop skips all iterations and falls through to the defaults in vars/main.yml. Files changed: - tasks/set_vars.yml (new) — standard platform vars loader - tasks/main.yml — include set_vars.yml before firewalld.yml - vars/SLES_16.yml (new) — python3-firewall for SLE 16 - firewalld.yml — NOT modified
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Enhancement: Fix role failure on SLES 15. Added Distro specific vars to include missing package.
Reason: Role fails on SLES15 requires python311-firewall package which is not installed by default by the firewalld package.
Result: Distro specific vars install python311-firewall for SLES 15
Issue Tracker Tickets (Jira or BZ if any): NA
Summary by Sourcery
Bug Fixes: