diff options
author | Rob Crittenden <rcritten@redhat.com> | 2010-05-03 15:21:51 -0400 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2010-05-03 13:41:18 -0600 |
commit | 04e9056ec2b6e0360f3f3545fd638ecc17aaad2c (patch) | |
tree | b9fefef29f7ba68c1932aac39f7b2bedfc85d356 /ipaserver/install/krbinstance.py | |
parent | 6d35812252cb4fcf34cf13bf88cbb705560afc3a (diff) | |
download | freeipa-04e9056ec2b6e0360f3f3545fd638ecc17aaad2c.tar.gz freeipa-04e9056ec2b6e0360f3f3545fd638ecc17aaad2c.tar.xz freeipa-04e9056ec2b6e0360f3f3545fd638ecc17aaad2c.zip |
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
Diffstat (limited to 'ipaserver/install/krbinstance.py')
-rw-r--r-- | ipaserver/install/krbinstance.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/ipaserver/install/krbinstance.py b/ipaserver/install/krbinstance.py index 71aeeb207..23ed10015 100644 --- a/ipaserver/install/krbinstance.py +++ b/ipaserver/install/krbinstance.py @@ -85,8 +85,6 @@ class KrbInstance(service.Service): self.kdc_password = None self.sub_dict = None - self.kpasswd = KpasswdInstance() - if fstore: self.fstore = fstore else: @@ -181,6 +179,8 @@ class KrbInstance(service.Service): self.start_creation("Configuring Kerberos KDC") + self.kpasswd = KpasswdInstance() + self.kpasswd.create_instance() def create_replica(self, ds_user, realm_name, host_name, domain_name, admin_password, ldap_passwd_filename, kpasswd_filename): @@ -200,6 +200,7 @@ class KrbInstance(service.Service): self.start_creation("Configuring Kerberos KDC") + self.kpasswd = KpasswdInstance() self.kpasswd.create_instance() def __copy_ldap_passwd(self, filename): @@ -473,7 +474,8 @@ class KrbInstance(service.Service): update_key_val_in_file("/etc/sysconfig/ipa_kpasswd", "export KRB5_KTNAME", "/var/kerberos/krb5kdc/kpasswd.keytab") def uninstall(self): - self.kpasswd.uninstall() + if self.is_configured(): + self.print_msg("Unconfiguring %s" % self.service_name) running = self.restore_state("running") enabled = self.restore_state("enabled") @@ -495,3 +497,6 @@ class KrbInstance(service.Service): if not running is None and running: self.start() + + self.kpasswd = KpasswdInstance() + self.kpasswd.uninstall() |