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