Don't use the has_files() to know if client/server is configured

Use the is_ipa_configure() and is_ipa_client_configured() utilities
instead which are much more robust.

https://pagure.io/freeipa/issue/8384

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
Reviewed-By: Francois Cami <fcami@redhat.com>
This commit is contained in:
Rob Crittenden
2020-07-28 13:17:40 -04:00
committed by Florence Blanc-Renaud
parent d7a4756dac
commit 5e02713481
6 changed files with 12 additions and 15 deletions

View File

@@ -32,7 +32,7 @@ from ipaplatform.paths import paths
from ipaplatform.tasks import tasks
from ipalib import api, errors, x509
from ipalib.constants import DOMAIN_LEVEL_0
from ipalib.facts import is_ipa_configured
from ipalib.facts import is_ipa_configured, is_ipa_client_configured
from ipalib.util import (
validate_domain_name,
no_matching_interface_for_ip_address_warning,
@@ -381,8 +381,7 @@ def install_check(installer):
"If you want to reinstall the IPA server, please uninstall "
"it first using 'ipa-server-install --uninstall'.")
client_fstore = sysrestore.FileStore(paths.IPA_CLIENT_SYSRESTORE)
if client_fstore.has_files():
if is_ipa_client_configured(on_master=True):
installer._installation_cleanup = False
raise ScriptError(
"IPA client is already configured on this system.\n"

View File

@@ -35,7 +35,7 @@ from ipaplatform.tasks import tasks
from ipaplatform.paths import paths
from ipalib import api, constants, create_api, errors, rpc, x509
from ipalib.config import Env
from ipalib.facts import is_ipa_configured
from ipalib.facts import is_ipa_configured, is_ipa_client_configured
from ipalib.util import no_matching_interface_for_ip_address_warning
from ipaclient.install.client import configure_krb5_conf, purge_host_keytab
from ipaserver.install import (
@@ -786,8 +786,7 @@ def promote_check(installer):
raise ScriptError("--setup-ca and --*-cert-file options are "
"mutually exclusive")
client_fstore = sysrestore.FileStore(paths.IPA_CLIENT_SYSRESTORE)
if not client_fstore.has_files():
if not is_ipa_client_configured(on_master=True):
# One-step replica installation
if options.password and options.admin_password:
raise ScriptError("--password and --admin-password options are "