summaryrefslogtreecommitdiffstats
path: root/install/tools/ipa-replica-install
diff options
context:
space:
mode:
Diffstat (limited to 'install/tools/ipa-replica-install')
-rwxr-xr-xinstall/tools/ipa-replica-install52
1 files changed, 10 insertions, 42 deletions
diff --git a/install/tools/ipa-replica-install b/install/tools/ipa-replica-install
index 0beca24d9..fbc5824f6 100755
--- a/install/tools/ipa-replica-install
+++ b/install/tools/ipa-replica-install
@@ -36,9 +36,8 @@ from ipaserver.install import bindinstance, httpinstance, ntpinstance
from ipaserver.install import memcacheinstance
from ipaserver.install import otpdinstance
from ipaserver.install.replication import replica_conn_check, ReplicationManager
-from ipaserver.install.installutils import (ReplicaConfig, expand_replica_info,
- read_replica_info, get_host_name, BadHostError, private_ccache,
- read_replica_info_dogtag_port, read_replica_info_drm_enabled)
+from ipaserver.install.installutils import (private_ccache,
+ read_replica_info_drm_enabled, create_replica_config)
from ipaserver.plugins.ldap2 import ldap2
from ipaserver.install import cainstance
from ipaserver.install import drminstance
@@ -506,39 +505,8 @@ def main():
if dirman_password is None:
sys.exit("Directory Manager password required")
- try:
- top_dir, dir = expand_replica_info(filename, dirman_password)
- global REPLICA_INFO_TOP_DIR
- REPLICA_INFO_TOP_DIR = top_dir
- except Exception, e:
- print "ERROR: Failed to decrypt or open the replica file."
- print "Verify you entered the correct Directory Manager password."
- sys.exit(1)
-
- config = ReplicaConfig()
- read_replica_info(dir, config)
- root_logger.debug('Installing replica file with version %d (0 means no version in prepared file).' % config.version)
- if config.version and config.version > version.NUM_VERSION:
- root_logger.error('A replica file from a newer release (%d) cannot be installed on an older version (%d)' % (config.version, version.NUM_VERSION))
- sys.exit(1)
- config.dirman_password = dirman_password
- try:
- host = get_host_name(options.no_host_dns)
- except BadHostError, e:
- root_logger.error(str(e))
- sys.exit(1)
- if config.host_name != host:
- try:
- print "This replica was created for '%s' but this machine is named '%s'" % (config.host_name, host)
- if not ipautil.user_input("This may cause problems. Continue?", False):
- sys.exit(0)
- config.host_name = host
- print ""
- except KeyboardInterrupt:
- sys.exit(0)
- config.dir = dir
+ config = create_replica_config(dirman_password, filename, options)
config.setup_ca = options.setup_ca
- config.ca_ds_port = read_replica_info_dogtag_port(config.dir)
if config.setup_ca and not ipautil.file_exists(config.dir + "/cacert.p12"):
print 'CA cannot be installed in CA-less setup.'
@@ -619,7 +587,7 @@ def main():
# Check that we don't already have a replication agreement
try:
- (agreement_cn, agreement_dn) = replman.agreement_dn(host)
+ (agreement_cn, agreement_dn) = replman.agreement_dn(config.host_name)
entry = conn.get_entry(agreement_dn, ['*'])
except errors.NotFound:
pass
@@ -629,20 +597,20 @@ def main():
print ('A replication agreement for this host already exists. '
'It needs to be removed.')
print "Run this on the master that generated the info file:"
- print " %% ipa-replica-manage del %s --force" % host
+ print " %% ipa-replica-manage del %s --force" % config.host_name
exit(3)
# Check pre-existing host entry
try:
- entry = conn.find_entries(u'fqdn=%s' % host, ['fqdn'], DN(api.env.container_host, api.env.basedn))
+ entry = conn.find_entries(u'fqdn=%s' % config.host_name, ['fqdn'], DN(api.env.container_host, api.env.basedn))
except errors.NotFound:
pass
else:
root_logger.info(
- 'Error: Host %s already exists on the master server.' % host)
- print 'The host %s already exists on the master server.' % host
+ 'Error: Host %s already exists on the master server.' % config.host_name)
+ print 'The host %s already exists on the master server.' % config.host_name
print "You should remove it before proceeding:"
- print " %% ipa host-del %s" % host
+ print " %% ipa host-del %s" % config.host_name
exit(3)
# If remote host has DNS, check forward/reverse resolution
@@ -710,7 +678,7 @@ def main():
if CA:
CA.configure_certmonger_renewal()
- CA.import_ra_cert(dir + "/ra.p12")
+ CA.import_ra_cert(config.dir + "/ra.p12")
CA.fix_ra_perms()
ipaservices.knownservices.httpd.restart()