summaryrefslogtreecommitdiffstats
path: root/ipa-server/ipaserver/dsinstance.py
diff options
context:
space:
mode:
authorrcritten@redhat.com <rcritten@redhat.com>2007-10-03 17:37:13 -0400
committerrcritten@redhat.com <rcritten@redhat.com>2007-10-03 17:37:13 -0400
commit53e872fb72098a8c504613c0946cecfe31d5fab7 (patch)
treeaa11252b777403e3d9cad75699ae24d900d069d8 /ipa-server/ipaserver/dsinstance.py
parent1cef67e2e16ec137a1d04f9f4f99694ed36e3d28 (diff)
downloadfreeipa.git-53e872fb72098a8c504613c0946cecfe31d5fab7.tar.gz
freeipa.git-53e872fb72098a8c504613c0946cecfe31d5fab7.tar.xz
freeipa.git-53e872fb72098a8c504613c0946cecfe31d5fab7.zip
Try to catch more error conditions during installation
Modify the way we detect SELinux to use selinuxenabled instead of using a try/except. Handle SASL/GSSAPI authentication failures when getting a connection
Diffstat (limited to 'ipa-server/ipaserver/dsinstance.py')
-rw-r--r--ipa-server/ipaserver/dsinstance.py54
1 files changed, 41 insertions, 13 deletions
diff --git a/ipa-server/ipaserver/dsinstance.py b/ipa-server/ipaserver/dsinstance.py
index bb1f021a..5c59cfa7 100644
--- a/ipa-server/ipaserver/dsinstance.py
+++ b/ipa-server/ipaserver/dsinstance.py
@@ -91,7 +91,11 @@ class DsInstance:
self.__add_default_schemas()
self.__enable_ssl()
self.__certmap_conf()
- self.restart()
+ try:
+ self.restart()
+ except:
+ # TODO: roll back here?
+ print "Failed to restart the ds instance"
self.__add_default_layout()
self.__create_test_users()
@@ -126,8 +130,12 @@ class DsInstance:
except KeyError:
logging.debug("adding ds user %s" % self.ds_user)
args = ["/usr/sbin/useradd", "-c", "DS System User", "-d", "/var/lib/dirsrv", "-M", "-r", "-s", "/sbin/nologin", self.ds_user]
- run(args)
- logging.debug("done adding user")
+ try:
+ run(args)
+ logging.debug("done adding user")
+ except subprocess.CalledProcessError, e:
+ print "Failed to add user", e
+ logging.debug("failed to add user %s" % e)
def __create_instance(self):
logging.debug("creating ds instance . . . ")
@@ -141,11 +149,19 @@ class DsInstance:
else:
args = ["/usr/bin/ds_newinst.pl", inf_fd.name]
logging.debug("calling ds_newinst.pl")
- run(args)
- logging.debug("completed creating ds instance")
+ try:
+ run(args)
+ logging.debug("completed creating ds instance")
+ except subprocess.CalledProcessError, e:
+ print "failed to restart ds instance", e
+ logging.debug("failed to restart ds instance %s" % e)
logging.debug("restarting ds instance")
- self.restart()
- logging.debug("done restarting ds instance")
+ try:
+ self.restart()
+ logging.debug("done restarting ds instance")
+ except subprocess.CalledProcessError, e:
+ print "failed to restart ds instance", e
+ logging.debug("failed to restart ds instance %s" % e)
def __add_default_schemas(self):
shutil.copyfile(SHARE_DIR + "60kerberos.ldif",
@@ -158,8 +174,12 @@ class DsInstance:
dirname = self.config_dirname()
args = ["/usr/share/ipa/ipa-server-setupssl", self.dm_password,
dirname, self.host_name]
- run(args)
- logging.debug("done configuring ssl for ds instance")
+ try:
+ run(args)
+ logging.debug("done configuring ssl for ds instance")
+ except subprocess.CalledProcessError, e:
+ print "Failed to enable ssl in ds instance", e
+ logging.debug("Failed to configure ssl in ds instance %s" % e)
def __add_default_layout(self):
txt = template_file(SHARE_DIR + "bootstrap-template.ldif", self.sub_dict)
@@ -167,8 +187,12 @@ class DsInstance:
logging.debug("adding default ds layout")
args = ["/usr/bin/ldapmodify", "-xv", "-D", "cn=Directory Manager",
"-w", self.dm_password, "-f", inf_fd.name]
- run(args)
- logging.debug("done adding default ds layout")
+ try:
+ run(args)
+ logging.debug("done adding default ds layout")
+ except subprocess.CalledProcessError, e:
+ print "Failed to add default ds layout", e
+ logging.debug("Failed to add default ds layout %s" % e)
def __create_test_users(self):
logging.debug("create test users ldif")
@@ -194,6 +218,10 @@ class DsInstance:
"-D", "cn=Directory Manager", "-w", self.dm_password,
"-P", dirname+"/cert8.db", "-ZZZ", "-s", password,
"uid=admin,cn=sysaccounts,cn=etc,"+self.suffix]
- run(args)
- logging.debug("ldappasswd done")
+ try:
+ run(args)
+ logging.debug("ldappasswd done")
+ except subprocess.CalledProcessError, e:
+ print "Unable to set admin password", e
+ logging.debug("Unable to set admin password %s" % e)