diff options
Diffstat (limited to 'ipaserver/install/installutils.py')
-rw-r--r-- | ipaserver/install/installutils.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/ipaserver/install/installutils.py b/ipaserver/install/installutils.py index e2d785881..675050ce4 100644 --- a/ipaserver/install/installutils.py +++ b/ipaserver/install/installutils.py @@ -42,6 +42,7 @@ from ipapython import config from ipalib import errors from ipaserver.install import certs from ipapython import services as ipaservices +from ipapython import version # Used to determine install status IPA_MODULES = [ @@ -570,6 +571,41 @@ def read_replica_info_drm_enabled(config_dir): return enable_drm +def create_replica_config(dirman_password, filename, options): + 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.ca_ds_port = read_replica_info_dogtag_port(config.dir) + return config + def check_server_configuration(): """ Check if IPA server is configured on the system. |