Detect CA installation type in ipa-replica-prepare and ipa-ca-install.

ipa-ca-install can only add a dogtag CA to an IPA install.

ipa-replica-prepare can only be run on the initial master with a
selfsign backend.

https://fedorahosted.org/freeipa/ticket/1756
https://fedorahosted.org/freeipa/ticket/1757
This commit is contained in:
Rob Crittenden
2011-09-27 17:44:20 +02:00
committed by Martin Kosek
parent 2028a4095d
commit a41457ec3a
3 changed files with 22 additions and 7 deletions

View File

@@ -83,6 +83,12 @@ def main():
if not dsinstance.DsInstance().is_configured():
sys.exit("IPA server is not configured on this system.\n")
api.bootstrap(in_server=True)
api.finalize()
if certs.ipa_self_signed():
sys.exit('A selfsign CA can not be added')
# get the directory manager password
dirman_password = options.password
if not dirman_password:
@@ -129,16 +135,9 @@ def main():
if not options.skip_conncheck:
replica_conn_check(config.master_host_name, config.host_name, config.realm_name, True, options.admin_password)
api.bootstrap(in_server=True)
api.finalize()
# Configure the CA if necessary
(CA, cs) = cainstance.install_replica_ca(config, postinstall=True)
if not CA:
# not a dogtag CA replica
sys.exit("Not a dogtag CA installation!")
# We need to ldap_enable the CA now that DS is up and running
CA.ldap_enable('CA', config.host_name, config.dirman_password,
util.realm_to_suffix(config.realm_name))