summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2010-05-06 16:41:59 -0400
committerJason Gerard DeRose <jderose@redhat.com>2010-05-06 15:17:16 -0600
commit3bf7268d749f869d1d238caf2ee9a6c28ed40280 (patch)
tree5aa944460b1efeafa06bc4c5eaf2d3a1a4f8f818
parentcd5eddd843cc36b1fa6444996fc1ff1ce7a1e22b (diff)
downloadfreeipa-3bf7268d749f869d1d238caf2ee9a6c28ed40280.tar.gz
freeipa-3bf7268d749f869d1d238caf2ee9a6c28ed40280.tar.xz
freeipa-3bf7268d749f869d1d238caf2ee9a6c28ed40280.zip
Add simple test to see if client is already configured
If this ever gets out of sync the user can always remove /var/lib/ipa-client/sysrestore/*, they just need to understand the implications. One potential problem is with certmonger. If you install the client and then re-install without uninstalling then the subsequent certificate request by certmonger will fail because it will already be tracking a certificate in /etc/pki/nssdb of the same nickname and subject (the old cert).
-rwxr-xr-xipa-client/ipa-install/ipa-client-install4
-rw-r--r--ipapython/sysrestore.py8
2 files changed, 12 insertions, 0 deletions
diff --git a/ipa-client/ipa-install/ipa-client-install b/ipa-client/ipa-install/ipa-client-install
index a37914fd6..9d6d398e4 100755
--- a/ipa-client/ipa-install/ipa-client-install
+++ b/ipa-client/ipa-install/ipa-client-install
@@ -440,6 +440,10 @@ def main():
if options.uninstall:
return uninstall(options)
+ if fstore.has_files():
+ print "IPA client is already configured on this system."
+ return 1
+
cli_domain = None
cli_server = None
cli_realm = None
diff --git a/ipapython/sysrestore.py b/ipapython/sysrestore.py
index d3c7a5017..cad6c91f9 100644
--- a/ipapython/sysrestore.py
+++ b/ipapython/sysrestore.py
@@ -203,6 +203,14 @@ class FileStore:
return True
+ def has_files(self):
+ """Return True or False if there are any files in the index
+
+ Can be used to determine if a program is configured.
+ """
+
+ return len(self.files) > 0
+
class StateFile:
"""A metadata file for recording system state which can
be backed up and later restored. The format is something