On Fri, Dec 5, 2014 at 3:25 AM, Andrew Savchenko <[email protected]> wrote:
>
>> I didn't ask why we need local.d.  I asked why we need to run it LAST,
>> and why we need to run all of that other stuff LAST?  Of course, the
>> reality is that we aren't running all of that stuff last since exactly
>> one script can REALLY be run last.
>>
>> If your answer is that something in local.d might need to use the
>> network, then specify that it needs the network.  If the answer is
>> that it needs to use nfs, then specify that it needs to use nfs.  If
>> it needs to happen after a bunch of random things but you can't be
>> sure which things they are, then just create a virtual service and
>> make it need that.
>>
>> The solution is the same for both local.d and all that "other stuff"
>> that "needs to be last."  Just specify what they actually need.  This
>> is a dependency-based service manager.
>
> This will require every sysadmin to know well how openrc works and
> how to specify appropriate dependencies for custom out-of-tree
> daemons. While I support the idea that sysadmins should be well
> prepared to tweak internals of systems they are working with — and
> to know this internals well in order to do such tweaks —, in real
> life people often don't have time to dig such deep into the system
> and will prefer other solutions which keeping stuff simple.
>
> local.d where people can just put their scripts without handling
> any deps is a simple way. That's why we need it. (Of course if
> someone dislikes this approach, it not hard to disable local.d
> at all.)
>
> And if local.d needs dependencies to be specified how does it
> differs from just writing plain new service and putting it into
> init.d? Frankly, I do such things when I need custom complicated
> services for my needs.
>

There is mention here that there are many scripts that are set to run
last, not just local.d.  You haven't addressed those.

For local.d it seems reasonable to just have a default config that
makes it run after network and mounts.  Or maybe make local.d and
allow that alone to run last.  You can have one thing run last.

--
Rich

Reply via email to