|
|
6d47df |
From be968ea01adf1721b0afd7393872a8d311d89d0c Mon Sep 17 00:00:00 2001
|
|
|
6d47df |
From: Florence Blanc-Renaud <flo@redhat.com>
|
|
|
6d47df |
Date: Oct 24 2018 14:21:47 +0000
|
|
|
6d47df |
Subject: ipa-replica-install --setup-adtrust: check for package ipa-server-trust-ad
|
|
|
6d47df |
|
|
|
6d47df |
|
|
|
6d47df |
When adding the option --setup-adtrust to ipa-replica-install,
|
|
|
6d47df |
we need to check that the package freeipa-server-trust-ad is
|
|
|
6d47df |
installed.
|
|
|
6d47df |
To avoid relying on OS-specific commands like yum, the check is instead
|
|
|
6d47df |
ensuring that the file /usr/share/ipa/smb.conf.empty is present
|
|
|
6d47df |
(this file is delivered by the package).
|
|
|
6d47df |
When the check is unsuccessful, ipa-replica-install exits with an error
|
|
|
6d47df |
message.
|
|
|
6d47df |
|
|
|
6d47df |
Fixes: https://pagure.io/freeipa/issue/7602
|
|
|
6d47df |
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
|
|
|
6d47df |
|
|
|
6d47df |
---
|
|
|
6d47df |
|
|
|
6d47df |
diff --git a/ipaplatform/base/constants.py b/ipaplatform/base/constants.py
|
|
|
6d47df |
index be832fe..c67b991 100644
|
|
|
6d47df |
--- a/ipaplatform/base/constants.py
|
|
|
6d47df |
+++ b/ipaplatform/base/constants.py
|
|
|
6d47df |
@@ -15,6 +15,7 @@ class BaseConstantsNamespace(object):
|
|
|
6d47df |
HTTPD_USER = "apache"
|
|
|
6d47df |
HTTPD_GROUP = "apache"
|
|
|
6d47df |
GSSPROXY_USER = "root"
|
|
|
6d47df |
+ IPA_ADTRUST_PACKAGE_NAME = "freeipa-server-trust-ad"
|
|
|
6d47df |
IPA_DNS_PACKAGE_NAME = "freeipa-server-dns"
|
|
|
6d47df |
KDCPROXY_USER = "kdcproxy"
|
|
|
6d47df |
NAMED_USER = "named"
|
|
|
6d47df |
diff --git a/ipaplatform/rhel/constants.py b/ipaplatform/rhel/constants.py
|
|
|
6d47df |
index 945f3dc..72335ac 100644
|
|
|
6d47df |
--- a/ipaplatform/rhel/constants.py
|
|
|
6d47df |
+++ b/ipaplatform/rhel/constants.py
|
|
|
6d47df |
@@ -13,6 +13,7 @@ from ipaplatform.redhat.constants import RedHatConstantsNamespace
|
|
|
6d47df |
|
|
|
6d47df |
|
|
|
6d47df |
class RHELConstantsNamespace(RedHatConstantsNamespace):
|
|
|
6d47df |
+ IPA_ADTRUST_PACKAGE_NAME = "ipa-server-trust-ad"
|
|
|
6d47df |
IPA_DNS_PACKAGE_NAME = "ipa-server-dns"
|
|
|
6d47df |
|
|
|
6d47df |
constants = RHELConstantsNamespace()
|
|
|
6d47df |
diff --git a/ipaserver/install/adtrustinstance.py b/ipaserver/install/adtrustinstance.py
|
|
|
6d47df |
index 3a751cc..67317ee 100644
|
|
|
6d47df |
--- a/ipaserver/install/adtrustinstance.py
|
|
|
6d47df |
+++ b/ipaserver/install/adtrustinstance.py
|
|
|
6d47df |
@@ -72,6 +72,15 @@ def check_inst():
|
|
|
6d47df |
"start the installation again")
|
|
|
6d47df |
return False
|
|
|
6d47df |
|
|
|
6d47df |
+ # Check that ipa-server-trust-ad package is installed,
|
|
|
6d47df |
+ # by looking for the file /usr/share/ipa/smb.conf.empty
|
|
|
6d47df |
+ if not os.path.exists(os.path.join(paths.USR_SHARE_IPA_DIR,
|
|
|
6d47df |
+ "smb.conf.empty")):
|
|
|
6d47df |
+ print("AD Trust requires the '%s' package" %
|
|
|
6d47df |
+ constants.IPA_ADTRUST_PACKAGE_NAME)
|
|
|
6d47df |
+ print("Please install the package and start the installation again")
|
|
|
6d47df |
+ return False
|
|
|
6d47df |
+
|
|
|
6d47df |
#TODO: Add check for needed samba4 libraries
|
|
|
6d47df |
|
|
|
6d47df |
return True
|
|
|
6d47df |
|