summaryrefslogtreecommitdiffstats
path: root/install
diff options
context:
space:
mode:
Diffstat (limited to 'install')
-rwxr-xr-xinstall/tools/ipa-replica-prepare22
1 files changed, 22 insertions, 0 deletions
diff --git a/install/tools/ipa-replica-prepare b/install/tools/ipa-replica-prepare
index 0c3388de9..908c50a13 100755
--- a/install/tools/ipa-replica-prepare
+++ b/install/tools/ipa-replica-prepare
@@ -245,6 +245,22 @@ def main():
if not options.pkinit_pkcs12 and not certs.ipa_self_signed():
options.setup_pkinit = False
+ try:
+ installutils.verify_fqdn(replica_fqdn)
+ except RuntimeError, e:
+ msg = str(e)
+ if msg.startswith('Unable to resolve host name'):
+ if options.ip_address is None:
+ if bindinstance.dns_container_exists(api.env.host,
+ api.env.basedn):
+ msg += '\nAdd the --ip-address argument to create a DNS entry.'
+ sys.exit(msg)
+ else:
+ # The host doesn't exist in DNS but we're adding it.
+ pass
+ else:
+ sys.exit(msg)
+
if options.ip_address:
if not bindinstance.dns_container_exists(api.env.host, api.env.basedn):
print "You can't add a DNS record because DNS is not set up."
@@ -255,6 +271,12 @@ def main():
check_ipa_configuration(api.env.realm)
+ if not options.ip_address:
+ try:
+ api.Command['dns_resolve'](replica_fqdn)
+ except errors.NotFound:
+ sys.exit("Neither an A nor AAAA record for host '%s' does not exist in DNS.\nUse the --ip-address option to add DNS entries for the replica." % replica_fqdn)
+
if api.env.host == replica_fqdn:
print "You can't create a replica on itself"
sys.exit(1)