summaryrefslogtreecommitdiffstats
path: root/ipa-server/ipaserver/dsinstance.py
diff options
context:
space:
mode:
authorKarl MacMillan <kmacmill@redhat.com>2007-11-15 11:08:03 -0500
committerKarl MacMillan <kmacmill@redhat.com>2007-11-15 11:08:03 -0500
commit4d96b37de1d6ebd173909a839ecf19386932d9a5 (patch)
tree0e6b7b228589fca622d6b4427c9834995a4fed45 /ipa-server/ipaserver/dsinstance.py
parentabdd34407361389c13bf4b8af6c476a34e243677 (diff)
downloadfreeipa-4d96b37de1d6ebd173909a839ecf19386932d9a5.tar.gz
freeipa-4d96b37de1d6ebd173909a839ecf19386932d9a5.tar.xz
freeipa-4d96b37de1d6ebd173909a839ecf19386932d9a5.zip
Initialize memberof patch from Pete Rowley.
Diffstat (limited to 'ipa-server/ipaserver/dsinstance.py')
-rw-r--r--ipa-server/ipaserver/dsinstance.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/ipa-server/ipaserver/dsinstance.py b/ipa-server/ipaserver/dsinstance.py
index 9a539470e..0cab17440 100644
--- a/ipa-server/ipaserver/dsinstance.py
+++ b/ipa-server/ipaserver/dsinstance.py
@@ -35,6 +35,9 @@ def ldap_mod(fd, dn, pwd):
args = ["/usr/bin/ldapmodify", "-h", "127.0.0.1", "-xv", "-D", dn, "-w", pwd, "-f", fd.name]
run(args)
+ text = fd.read()
+ print text
+
def realm_to_suffix(realm_name):
s = realm_name.split(".")
terms = ["dc=" + x.lower() for x in s]
@@ -78,7 +81,7 @@ class DsInstance(service.Service):
self.dm_password = dm_password
self.__setup_sub_dict()
- self.start_creation(11, "Configuring directory server:")
+ self.start_creation(15, "Configuring directory server:")
self.__create_ds_user()
self.__create_instance()
self.__add_default_schemas()
@@ -97,6 +100,7 @@ class DsInstance(service.Service):
self.__config_uidgid_gen_first_master()
self.__add_default_layout()
self.__add_master_entry_first_master()
+ self.__init_memberof()
self.step("configuring directoy to start on boot")
@@ -177,6 +181,16 @@ class DsInstance(service.Service):
logging.critical("Failed to load memberof-conf.ldif: %s" % str(e))
memberof_fd.close()
+ def __init_memberof(self):
+ self.step("initializing group membership")
+ memberof_txt = template_file(SHARE_DIR + "memberof-task.ldif", self.sub_dict)
+ memberof_fd = write_tmp_file(memberof_txt)
+ try:
+ ldap_mod(memberof_fd, "cn=Directory Manager", self.dm_password)
+ except subprocess.CalledProcessError, e:
+ logging.critical("Failed to load memberof-conf.ldif: %s" % str(e))
+ memberof_fd.close()
+
def __add_referint_module(self):
self.step("enabling referential integrity plugin")
referint_txt = template_file(SHARE_DIR + "referint-conf.ldif", self.sub_dict)