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-install20
1 files changed, 19 insertions, 1 deletions
diff --git a/install/tools/ipa-replica-install b/install/tools/ipa-replica-install
index 0571f94c..1584dd58 100755
--- a/install/tools/ipa-replica-install
+++ b/install/tools/ipa-replica-install
@@ -32,6 +32,7 @@ from ipaserver.install import bindinstance, httpinstance, ntpinstance, certs
from ipaserver import ipaldap
from ipapython import version
from ipalib import api, util
+from ipalib.constants import DEFAULT_CONFIG
CACERT="/usr/share/ipa/html/ca.crt"
@@ -130,7 +131,17 @@ def set_owner(config, dir):
os.chown(dir, pw.pw_uid, pw.pw_gid)
def install_ca(config):
+ # FIXME, need to pass along the CA plugin to use
cafile = config.dir + "/ca.p12"
+
+ # Just initialize the environment. This is so the installer can have
+ # access to the plugin environment
+ api.env._bootstrap()
+ default_config = dict(DEFAULT_CONFIG)
+ if ipautil.file_exists(cafile):
+ default_config['ra_plugin'] = 'dogtag'
+ api.env._finalize_core(**default_config)
+
if not ipautil.file_exists(cafile):
return None
@@ -140,6 +151,12 @@ def install_ca(config):
print >> sys.stderr, "Import failed: %s" % sys.exc_value
sys.exit(1)
+ if not cainstance.check_inst():
+ print "A CA was specified but the dogtag certificate server"
+ print "is not installed on the system"
+ print "Please install dogtag and restart the setup program"
+ sys.exit(1)
+
cs = cainstance.CADSInstance()
cs.create_instance(config.ds_user, config.realm_name, config.host_name, config.domain_name, config.dirman_password)
@@ -348,9 +365,10 @@ def main():
fd.write("realm=" + config.realm_name + "\n")
fd.write("domain=" + config.domain_name + "\n")
fd.write("xmlrpc_uri=https://%s/ipa/xml\n" % config.host_name)
- fd.write("ldap_uri=ldapi://%%2fvar%%2frun%%2fslapd-%s.socket\n" % dsinstance.realm_to_serverid(realm_name))
+ fd.write("ldap_uri=ldapi://%%2fvar%%2frun%%2fslapd-%s.socket\n" % dsinstance.realm_to_serverid(config.realm_name))
if ipautil.file_exists(config.dir + "/ca.p12"):
fd.write("enable_ra=True\n")
+ fd.write("ra_plugin=dogtag\n")
fd.close()
# Apply any LDAP updates. Needs to be done after the replica is synced-up