On 02/04/2013 09:42 AM, Mark Reynolds wrote:
There has been a request to remove instance specific scripts, and make
them generic and placed in /usr/sbin/
https://fedorahosted.org/389/ticket/528
Should we remove all the scripts from /usr/lib64/dirsrv/slapd-INSTANCE:
bak2db db2index dn2rdn ldif2ldap
ns-newpwpolicy.pl start-slapd usn-tombstone-cleanup.pl
bak2db.pl db2index.pl fixup-linkedattrs.pl monitor
restart-slapd stop-slapd verify-db.pl
cleanallruv.pl db2ldif fixup-memberof.pl ns-accountstatus.pl
restoreconfig suffix2instance vlvindex
db2bak db2ldif.pl ldif2db ns-activate.pl
saveconfig syntax-validate.pl
db2bak.pl dbverify ldif2db.pl ns-inactivate.pl
schema-reload.pl upgradednformat
It appears almost of these are all instance specific. Do we want to
make all of these "generic" and stick them in /usr/sbin?
Yes.
However, I think it makes sense to keep some instance specific
scripts: monitor, stop/start/restart, maybe the "task" scripts too
(like schema reload, cleanallruv, fix-memberof, etc). Then only make
the database scripts generic: db2ldif db2index, ldif2db, db2bak,
bak2db, etc.
One of the goals is to get any "dynamic" files out of /usr. Most
installations want to mount /usr read-only. They do not want to mount
/usr read-write in order to create or update a 389 instance.
IPA works around this by putting the instance specific scripts in
/var/lib/dirsrv/scripts-INSTANCE - but most people aren't looking for
389 maintenance commands under /var.
I don't think we need any instance specific scripts, but if we do, they
should not be in /usr or /var.
We have already started to do this with the
start-dirsrv/stop-dirsrv/restart-dirsrv scripts in /usr/sbin. With no
argument, they work on all instances, or accept the instance name as an
argument. This is fine for start/stop/restart, but might be a bit
surprising for something like db2ldif, if it then does an export of all
instances. For all scripts other than start/stop/restart, I think the
command should fail if the instance is not specified e.g.
# db2ldif ...
Error: More than one instance - specify the instance name as one of: foo
bar ...other instance names...
The other nice thing about the start-dirsrv etc. scripts is that they
use the instance information from /etc/sysconfig/dirsrv-* to look for
the dse.ldif, log files, etc. That removes the need for an instance
specific script created during instance creation time with "hardcoded"
instance specific values.
Just curious what everyone thinks about this.
Thanks,
Mark
--
389-devel mailing list
389-devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/389-devel