mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2026-09-03 20:52:56 -05:00
Make the installer/uninstaller more aware of its state
We have had a state file for quite some time that is used to return the system to its pre-install state. We can use that to determine what has been configured. This patch: - uses the state file to determine if dogtag was installed - prevents someone from trying to re-install an installed server - displays some output when uninstalling - re-arranges the ipa_kpasswd installation so the state is properly saved - removes pkiuser if it was added by the installer - fetches and installs the CA on both masters and clients
This commit is contained in:
committed by
Jason Gerard DeRose
parent
6d35812252
commit
04e9056ec2
@@ -375,7 +375,7 @@ def check_dirsrv(unattended):
|
||||
print "\t636"
|
||||
sys.exit(1)
|
||||
|
||||
def uninstall(ca=False, dm_password=None):
|
||||
def uninstall(dm_password=None):
|
||||
if dm_password:
|
||||
api.Backend.ldap2.connect(bind_dn="cn=Directory Manager", bind_pw=dm_password)
|
||||
|
||||
@@ -387,13 +387,9 @@ def uninstall(ca=False, dm_password=None):
|
||||
pass
|
||||
|
||||
ntpinstance.NTPInstance(fstore).uninstall()
|
||||
if ca:
|
||||
try:
|
||||
from ipaserver.install import cainstance
|
||||
except ImportError:
|
||||
print >> sys.stderr, "Import failed: %s" % sys.exc_value
|
||||
sys.exit(1)
|
||||
if cainstance.CADSInstance().is_configured():
|
||||
cainstance.CADSInstance().uninstall()
|
||||
if cainstance.CAInstance().is_configured():
|
||||
cainstance.CAInstance().uninstall()
|
||||
bindinstance.BindInstance(fstore).uninstall()
|
||||
httpinstance.HTTPInstance(fstore).uninstall()
|
||||
@@ -455,6 +451,8 @@ def main():
|
||||
else:
|
||||
standard_logging_setup("/var/log/ipaserver-install.log", options.debug)
|
||||
print "\nThe log file for this installation can be found in /var/log/ipaserver-install.log"
|
||||
if dsinstance.DsInstance().is_configured() or cainstance.CADSInstance().is_configured():
|
||||
sys.exit("IPA server is already configured on this system.")
|
||||
|
||||
global fstore
|
||||
fstore = sysrestore.FileStore('/var/lib/ipa/sysrestore')
|
||||
@@ -496,7 +494,7 @@ def main():
|
||||
sys.exit("\nUnable to connect to LDAP server %s" % api.env.host)
|
||||
conn.disconnect()
|
||||
|
||||
return uninstall(not certs.ipa_self_signed(), dm_password)
|
||||
return uninstall(dm_password)
|
||||
|
||||
# This will override any settings passed in on the cmdline
|
||||
options._update_loose(read_cache())
|
||||
|
||||
Reference in New Issue
Block a user