b39a24
From e713c227bb420a841ce3ae146bca55a84a1b0dbf Mon Sep 17 00:00:00 2001
b39a24
From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com>
b39a24
Date: Tue, 22 Jun 2021 14:36:51 +0200
b39a24
Subject: [PATCH] paths: add IPA_SERVER_CONF
b39a24
MIME-Version: 1.0
b39a24
Content-Type: text/plain; charset=UTF-8
b39a24
Content-Transfer-Encoding: 8bit
b39a24
b39a24
Related: https://pagure.io/freeipa/issue/8891
b39a24
Signed-off-by: François Cami <fcami@redhat.com>
b39a24
Reviewed-By: Stanislav Levin <slev@altlinux.org>
b39a24
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
b39a24
---
b39a24
 ipaplatform/base/paths.py | 1 +
b39a24
 1 file changed, 1 insertion(+)
b39a24
b39a24
diff --git a/ipaplatform/base/paths.py b/ipaplatform/base/paths.py
b39a24
index 91423b332..de217d9ef 100644
b39a24
--- a/ipaplatform/base/paths.py
b39a24
+++ b/ipaplatform/base/paths.py
b39a24
@@ -71,6 +71,7 @@ class BasePathNamespace:
b39a24
     IPA_DEFAULT_CONF = "/etc/ipa/default.conf"
b39a24
     IPA_DNSKEYSYNCD_KEYTAB = "/etc/ipa/dnssec/ipa-dnskeysyncd.keytab"
b39a24
     IPA_ODS_EXPORTER_KEYTAB = "/etc/ipa/dnssec/ipa-ods-exporter.keytab"
b39a24
+    IPA_SERVER_CONF = "/etc/ipa/server.conf"
b39a24
     DNSSEC_OPENSSL_CONF = "/etc/ipa/dnssec/openssl.cnf"
b39a24
     DNSSEC_SOFTHSM2_CONF = "/etc/ipa/dnssec/softhsm2.conf"
b39a24
     DNSSEC_SOFTHSM_PIN_SO = "/etc/ipa/dnssec/softhsm_pin_so"
b39a24
-- 
b39a24
2.31.1
b39a24
b39a24
From ee4be290e1583834a573c3896ee1d97b3fbb6c24 Mon Sep 17 00:00:00 2001
b39a24
From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com>
b39a24
Date: Tue, 22 Jun 2021 14:45:49 +0200
b39a24
Subject: [PATCH] ipatests: smoke test for server debug mode.
b39a24
MIME-Version: 1.0
b39a24
Content-Type: text/plain; charset=UTF-8
b39a24
Content-Transfer-Encoding: 8bit
b39a24
b39a24
Add a smoke test to make sure the server can be set in debug mode
b39a24
without issue.
b39a24
b39a24
Related: https://pagure.io/freeipa/issue/8891
b39a24
Signed-off-by: François Cami <fcami@redhat.com>
b39a24
Reviewed-By: Stanislav Levin <slev@altlinux.org>
b39a24
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
b39a24
---
b39a24
 .../test_integration/test_installation.py     | 27 +++++++++++++++++++
b39a24
 1 file changed, 27 insertions(+)
b39a24
b39a24
diff --git a/ipatests/test_integration/test_installation.py b/ipatests/test_integration/test_installation.py
b39a24
index 301767b8d..0c96536f0 100644
b39a24
--- a/ipatests/test_integration/test_installation.py
b39a24
+++ b/ipatests/test_integration/test_installation.py
b39a24
@@ -703,6 +703,33 @@ class TestInstallMaster(IntegrationTest):
b39a24
     def test_install_master(self):
b39a24
         tasks.install_master(self.master, setup_dns=False)
b39a24
 
b39a24
+    @pytest.mark.skip_if_platform(
b39a24
+        "debian", reason="This test hardcodes the httpd service name"
b39a24
+    )
b39a24
+    def test_smoke_test_for_debug_mode(self):
b39a24
+        """Test if an IPA server works in debug mode.
b39a24
+        Related: https://pagure.io/freeipa/issue/8891
b39a24
+
b39a24
+        Note: this test hardcodes the "httpd" service name.
b39a24
+        """
b39a24
+
b39a24
+        target_fname = paths.IPA_SERVER_CONF
b39a24
+        assert not self.master.transport.file_exists(target_fname)
b39a24
+
b39a24
+        # set the IPA server in debug mode
b39a24
+        server_conf = "[global]\ndebug=True"
b39a24
+        self.master.put_file_contents(target_fname, server_conf)
b39a24
+        self.master.run_command(["systemctl", "restart", "httpd"])
b39a24
+
b39a24
+        # smoke test in debug mode
b39a24
+        tasks.kdestroy_all(self.master)
b39a24
+        tasks.kinit_admin(self.master)
b39a24
+        self.master.run_command(["ipa", "user-show", "admin"])
b39a24
+
b39a24
+        # rollback
b39a24
+        self.master.run_command(["rm", target_fname])
b39a24
+        self.master.run_command(["systemctl", "restart", "httpd"])
b39a24
+
b39a24
     def test_schema_compat_attribute_and_tree_disable(self):
b39a24
         """Test if schema-compat-entry-attribute is set
b39a24
 
b39a24
-- 
b39a24
2.31.1
b39a24
b39a24
From 1539c7383116647ad9c5b125b343f972e9c9653b Mon Sep 17 00:00:00 2001
b39a24
From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fcami@redhat.com>
b39a24
Date: Wed, 23 Jun 2021 06:35:19 +0200
b39a24
Subject: [PATCH] rpcserver.py: perf_counter_ns is Python 3.7+
b39a24
MIME-Version: 1.0
b39a24
Content-Type: text/plain; charset=UTF-8
b39a24
Content-Transfer-Encoding: 8bit
b39a24
b39a24
perf_counter_ns is only available in Python 3.7 and later.
b39a24
Define a lambda for 3.6 and lower.
b39a24
b39a24
Fixes: https://pagure.io/freeipa/issue/8891
b39a24
Signed-off-by: François Cami <fcami@redhat.com>
b39a24
Reviewed-By: Stanislav Levin <slev@altlinux.org>
b39a24
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
b39a24
---
b39a24
 ipaserver/rpcserver.py | 5 +++++
b39a24
 1 file changed, 5 insertions(+)
b39a24
b39a24
diff --git a/ipaserver/rpcserver.py b/ipaserver/rpcserver.py
b39a24
index b121316bf..e612528e0 100644
b39a24
--- a/ipaserver/rpcserver.py
b39a24
+++ b/ipaserver/rpcserver.py
b39a24
@@ -31,6 +31,7 @@ import os
b39a24
 import time
b39a24
 import traceback
b39a24
 from io import BytesIO
b39a24
+from sys import version_info
b39a24
 from urllib.parse import parse_qs
b39a24
 from xmlrpc.client import Fault
b39a24
 
b39a24
@@ -72,6 +73,10 @@ from requests.auth import AuthBase
b39a24
 if six.PY3:
b39a24
     unicode = str
b39a24
 
b39a24
+# time.perf_counter_ns appeared in Python 3.7.
b39a24
+if version_info < (3, 7):
b39a24
+    time.perf_counter_ns = lambda: int(time.perf_counter() * 10**9)
b39a24
+
b39a24
 logger = logging.getLogger(__name__)
b39a24
 
b39a24
 HTTP_STATUS_SUCCESS = '200 Success'
b39a24
-- 
b39a24
2.31.1
b39a24