Patch attached.

From 55a4b4a47bd859194bfb3fc4ab6acde4f8086f6e Mon Sep 17 00:00:00 2001
From: Martin Basti <mba...@redhat.com>
Date: Tue, 19 Jul 2016 12:09:29 +0200
Subject: [PATCH] CI tests: improve log collecting

We should collect as much as possible relevant logs to be able do better
investigation from test automation
---
 ipaplatform/base/paths.py          |  1 +
 ipatests/test_integration/tasks.py | 60 +++++++++++++++++++++++++++++---------
 2 files changed, 47 insertions(+), 14 deletions(-)

diff --git a/ipaplatform/base/paths.py b/ipaplatform/base/paths.py
index d6fbe32f6839a5db40148777132ba1454cbc3382..4e9b41974541acc676c3f6b2399cbf8f5808642a 100644
--- a/ipaplatform/base/paths.py
+++ b/ipaplatform/base/paths.py
@@ -300,6 +300,7 @@ class BasePathNamespace(object):
     SLAPD_INSTANCE_ACCESS_LOG_TEMPLATE = "/var/log/dirsrv/slapd-%s/access"
     SLAPD_INSTANCE_ERROR_LOG_TEMPLATE = "/var/log/dirsrv/slapd-%s/errors"
     VAR_LOG_HTTPD_DIR = "/var/log/httpd"
+    VAR_LOG_HTTPD_ERROR = "/var/log/httpd/error_log"
     IPABACKUP_LOG = "/var/log/ipabackup.log"
     IPACLIENT_INSTALL_LOG = "/var/log/ipaclient-install.log"
     IPACLIENT_UNINSTALL_LOG = "/var/log/ipaclient-uninstall.log"
diff --git a/ipatests/test_integration/tasks.py b/ipatests/test_integration/tasks.py
index 5ce2595c078e093adc3af024d41ddb5fb6892776..eabbee4dc6a1736842e5657ee596060a6f566430 100644
--- a/ipatests/test_integration/tasks.py
+++ b/ipatests/test_integration/tasks.py
@@ -47,6 +47,49 @@ from ipalib.constants import DOMAIN_LEVEL_0
 log = log_mgr.get_logger(__name__)
 
 
+def setup_server_logs_collecting(host):
+    """
+    This function setup logs to be collected on host. We should collect all
+    possible logs that may be helpful to debug IPA server
+    """
+    # dirsrv logs
+    inst = host.domain.realm.replace('.', '-')
+    host.collect_log(paths.SLAPD_INSTANCE_ERROR_LOG_TEMPLATE % inst)
+    host.collect_log(paths.SLAPD_INSTANCE_ACCESS_LOG_TEMPLATE % inst)
+
+    # IPA install logs
+    host.collect_log(paths.IPASERVER_INSTALL_LOG)
+    host.collect_log(paths.IPACLIENT_INSTALL_LOG)
+    host.collect_log(paths.IPAREPLICA_INSTALL_LOG)
+    host.collect_log(paths.IPAREPLICA_CONNCHECK_LOG)
+    host.collect_log(paths.IPAREPLICA_CA_INSTALL_LOG)
+    host.collect_log(paths.IPACLIENT_INSTALL_LOG)
+    host.collect_log(paths.IPASERVER_KRA_INSTALL_LOG)
+    host.collect_log(paths.IPASERVER_CA_INSTALL_LOG)
+    host.collect_log(paths.IPA_CUSTODIA_AUDIT_LOG)
+
+    # IPA uninstall logs
+    host.collect_log(paths.IPASERVER_KRA_UNINSTALL_LOG)
+    host.collect_log(paths.IPACLIENT_UNINSTALL_LOG)
+    host.collect_log(paths.IPASERVER_KRA_UNINSTALL_LOG)
+
+    # IPA backup and restore logs
+    host.collect_log(paths.IPARESTORE_LOG)
+    host.collect_log(paths.IPABACKUP_LOG)
+
+    # kerberos related logs
+    host.collect_log(paths.KADMIND_LOG)
+
+    # httpd logs
+    host.collect_log(paths.VAR_LOG_HTTPD_ERROR)
+
+    # dogtag logs
+    host.collect_log(os.path.join(paths.VAR_LOG_PKI_DIR, '*'))
+
+    # SSSD debugging must be set after client is installed (function
+    # setup_sssd_debugging)
+
+
 def check_arguments_are(slice, instanceof):
     """
     :param: slice - tuple of integers denoting the beginning and the end
@@ -234,12 +277,7 @@ def install_master(host, setup_dns=True, setup_kra=False, extra_args=(),
                    domain_level=None):
     if domain_level is None:
         domain_level = host.config.domain_level
-    host.collect_log(paths.IPASERVER_INSTALL_LOG)
-    host.collect_log(paths.IPACLIENT_INSTALL_LOG)
-    inst = host.domain.realm.replace('.', '-')
-    host.collect_log(paths.SLAPD_INSTANCE_ERROR_LOG_TEMPLATE % inst)
-    host.collect_log(paths.SLAPD_INSTANCE_ACCESS_LOG_TEMPLATE % inst)
-
+    setup_server_logs_collecting(host)
     apply_common_fixes(host)
     fix_apache_semaphores(host)
 
@@ -321,8 +359,7 @@ def install_replica(master, replica, setup_ca=True, setup_dns=False,
     if domain_level is None:
         domain_level = domainlevel(master)
     apply_common_fixes(replica)
-    replica.collect_log(paths.IPAREPLICA_INSTALL_LOG)
-    replica.collect_log(paths.IPAREPLICA_CONNCHECK_LOG)
+    setup_server_logs_collecting(replica)
     allow_sync_ptr(master)
     # Otherwise ipa-client-install would not create a PTR
     # and replica installation would fail
@@ -400,12 +437,7 @@ def install_adtrust(host):
     Configures the compat tree for the legacy clients.
     """
 
-    # ipa-adtrust-install appends to ipaserver-install.log
-    host.collect_log(paths.IPASERVER_INSTALL_LOG)
-
-    inst = host.domain.realm.replace('.', '-')
-    host.collect_log(paths.SLAPD_INSTANCE_ERROR_LOG_TEMPLATE % inst)
-    host.collect_log(paths.SLAPD_INSTANCE_ACCESS_LOG_TEMPLATE % inst)
+    setup_server_logs_collecting(host)
 
     kinit_admin(host)
     host.run_command(['ipa-adtrust-install', '-U',
-- 
2.5.5

-- 
Manage your subscription for the Freeipa-devel mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-devel
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code

Reply via email to