On 02/04/2013 11:39 AM, Mark Reynolds wrote:
On 02/04/2013 12:16 PM, Rich Megginson wrote:
> 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.
Works for me.
>>
>> 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.
Ok, I don't think we need them, but if someone really wants them,
they could go in a new directory under /etc/dirsrv/*
Ok.
One more thing - we will need to have some period of time when we still
have the /usr/lib instance specific scripts in addition to the /usr/sbin
scripts to allow for a period of transition. We could just make the
instance specific scripts in /usr/lib symlinks to /usr/sbin or wrappers
or something similar.
>
> 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...
One request was to check if there is only a single instance and then
use that one by default, otherwise error out. I think this makes
sense, and should be easy to do.
>
> 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.
Yup, sounds like a plan.
Thanks for your input Rich!
Mark
>
>
>> Just curious what everyone thinks about this.
>>
>> Thanks,
>> Mark
>>
>