[Date Prev][Date Next]
Re: problem importing cn=config
Greg Martin wrote:
Howard Chu wrote:
Greg Martin wrote:
convert slapd.conf to ./slapd.d, and the second to "initialize" it.
Since slapadd is used to add things to the database, I figured it was
being imported into the database. Is the slappadd not necessary?
If you have a plain LDIF file produced by slapcat'ing a database, you
can slapadd it to use it.
A slapd.d directory tree produced by converting a slapd.conf file is
not a flat LDIF file, it's a tree of related files. It is in fact an
LDAP database that uses a hierarchical filesystem as its underlying
data store. Since it is an actual LDAP database, slapd reads it directly.
OK, I think I get that. Can you help me understand what the manpage is
trying to tell me to do with this:
"Assuming the above data was saved in a file named "config.ldif"
and the /etc/openldap/slapd.d directory has been created, this
command will initialize the configuration:
slapadd -F /etc/openldap/slapd.d -n 0 -l config.ldif"
After I ran slaptest to convert my slapd.conf to ./slapd.d, these
instructions indicate to me there is more to do. What am I missing?
No, wait. Now I see. If I build the config.ldif from scratch, then I
would run slapadd to construct the LDAP database. But since I used
slaptest to convert my existing slapd, that construction was done as
part of the conversion.
Yes, that's pretty much correct. You converted your *slapd configuration* from
the old slapd.conf format to the new slapd.d format. In either the old or the
new format, slapd just reads what you have, there's no extra "load" step needed.
Converting to an intermediate format (plain LDIF) that then requires manual
loading would just be a waste of time, and one thing I utterly detest is
software that wastes my time.
Perhaps the man page could be clarified a bit. The explanation of the
conversion process is part of the EXAMPLES section. Maybe a SLAPD.CONF
CONVERSION section could be added that says something like:
Conversion from slapd.conf to the slapd.d config directory can be
accomplished using slaptest or any of the slap tools:
slaptest -f /etc/openldap/slapd.conf -F ETCDIR/slapd.d
This command will construct the config.ldif and construct the LDAP
You're still not seeing it. We don't "construct the config.ldif." We only
convert the old config file format to the new config directory format. *You*
might write a "config.ldif" file by hand, if you're bootstrapping a
configuration from scratch, but that's entirely different. There is no
"config.ldif" unless you created that yourself, and that has nothing to do
with slapd's config directory.
Once completed, change the slapd startup command
to reference the directory by using the -F ETCDIR/slapd.d in lieu of -f
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/