Martin Kolman 2137f4
From 660e896b085b189f058664be95760cd90bf9a8a7 Mon Sep 17 00:00:00 2001
Martin Kolman 2137f4
From: Dusty Mabe <dusty@dustymabe.com>
Martin Kolman 2137f4
Date: Thu, 14 Dec 2017 15:54:23 -0500
Martin Kolman 2137f4
Subject: [PATCH 8/8] kickstart: support firewall --use-system-defaults
Martin Kolman 2137f4
 (#1526450)
Martin Kolman 2137f4
Martin Kolman 2137f4
Needed for [1] where we would like to include firewalld
Martin Kolman 2137f4
and configure firewalld in Atomic Host (in the ostree) and
Martin Kolman 2137f4
have Anaconda leave the delivered "defaults" in place. The
Martin Kolman 2137f4
action here is to do nothing if the user specified
Martin Kolman 2137f4
--use-system-defaults.
Martin Kolman 2137f4
Martin Kolman 2137f4
[1] https://pagure.io/atomic-wg/issue/401
Martin Kolman 2137f4
Martin Kolman 2137f4
Resolves: rhbz#1526450
Martin Kolman 2137f4
(cherry picked from commit 8d064062e71fd313f67e3522faf8d11e768c1986)
Martin Kolman 2137f4
---
Martin Kolman 2137f4
 anaconda.spec.in        |  2 +-
Martin Kolman 2137f4
 pyanaconda/kickstart.py | 14 ++++++++++++--
Martin Kolman 2137f4
 2 files changed, 13 insertions(+), 3 deletions(-)
Martin Kolman 2137f4
Martin Kolman 2137f4
diff --git a/anaconda.spec.in b/anaconda.spec.in
Martin Kolman 2137f4
index 2bd76cfdb..4ce60159d 100644
Martin Kolman 2137f4
--- a/anaconda.spec.in
Martin Kolman 2137f4
+++ b/anaconda.spec.in
Martin Kolman 2137f4
@@ -37,7 +37,7 @@ Source0: %{name}-%{version}.tar.bz2
Martin Kolman 2137f4
 %define mehver 0.23-1
Martin Kolman 2137f4
 %define nmver 1.0
Martin Kolman 2137f4
 %define partedver 1.8.1
Martin Kolman 2137f4
-%define pykickstartver 2.40-1
Martin Kolman 2137f4
+%define pykickstartver 2.44-1
Martin Kolman 2137f4
 %define pypartedver 2.5-2
Martin Kolman 2137f4
 %define rpmver 4.10.0
Martin Kolman 2137f4
 %define simplelinever 0.6-1
Martin Kolman 2137f4
diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
Martin Kolman 2137f4
index 793fb21f5..b75d9be3f 100644
Martin Kolman 2137f4
--- a/pyanaconda/kickstart.py
Martin Kolman 2137f4
+++ b/pyanaconda/kickstart.py
Martin Kolman 2137f4
@@ -109,6 +109,7 @@ timezone_log = log.getChild("kickstart.timezone")
Martin Kolman 2137f4
 realm_log = log.getChild("kickstart.realm")
Martin Kolman 2137f4
 escrow_log = log.getChild("kickstart.escrow")
Martin Kolman 2137f4
 upgrade_log = log.getChild("kickstart.upgrade")
Martin Kolman 2137f4
+firewall_log = log.getChild("kickstart.firewall")
Martin Kolman 2137f4
 
Martin Kolman 2137f4
 @contextmanager
Martin Kolman 2137f4
 def check_kickstart_error():
Martin Kolman 2137f4
@@ -706,9 +707,9 @@ class Fcoe(commands.fcoe.F13_Fcoe):
Martin Kolman 2137f4
 
Martin Kolman 2137f4
         return fc
Martin Kolman 2137f4
 
Martin Kolman 2137f4
-class Firewall(commands.firewall.F20_Firewall):
Martin Kolman 2137f4
+class Firewall(commands.firewall.F28_Firewall):
Martin Kolman 2137f4
     def __init__(self, *args, **kwargs):
Martin Kolman 2137f4
-        commands.firewall.F20_Firewall.__init__(self, *args, **kwargs)
Martin Kolman 2137f4
+        commands.firewall.F28_Firewall.__init__(self, *args, **kwargs)
Martin Kolman 2137f4
         self.packages = []
Martin Kolman 2137f4
 
Martin Kolman 2137f4
     def setup(self):
Martin Kolman 2137f4
@@ -717,6 +718,15 @@ class Firewall(commands.firewall.F20_Firewall):
Martin Kolman 2137f4
 
Martin Kolman 2137f4
     def execute(self, storage, ksdata, instClass):
Martin Kolman 2137f4
         args = []
Martin Kolman 2137f4
+
Martin Kolman 2137f4
+        # If --use-system-defaults was passed then the user wants
Martin Kolman 2137f4
+        # whatever was provided by the rpms or ostree to be the
Martin Kolman 2137f4
+        # default, do nothing.
Martin Kolman 2137f4
+        if self.use_system_defaults:
Martin Kolman 2137f4
+            firewall_log.info("ks file instructs to use system defaults for "
Martin Kolman 2137f4
+                              "firewall, skipping configuration.")
Martin Kolman 2137f4
+            return
Martin Kolman 2137f4
+
Martin Kolman 2137f4
         # enabled is None if neither --enable or --disable is passed
Martin Kolman 2137f4
         # default to enabled if nothing has been set.
Martin Kolman 2137f4
         if self.enabled == False:
Martin Kolman 2137f4
-- 
Martin Kolman 2137f4
2.14.3
Martin Kolman 2137f4