On Fri, Feb 04, 2011 at 06:17:30PM -0000, Clint Byrum wrote:
> As far as the assertions, I think we have a method of making sure that
> required files are there in the packaging system. The package upstart,
> which owns /etc/init/rc-sysinit.conf, depends on mountall and ifupdown.
> Further, there may be situations where something starts on an event that
> is only generated by something it is not dependent on. For instance, you
> may only want to run task foo when a service with NEEDS_FOO=1 starts.

Let me respectfully disagree in the case where files _must_ be present
and events _must_ be asserted.

If a file is accidentally removed, renamed, or becomes unaccessible _and_
is necessary for a successful boot, I want /bin/init or whatever to scream
loud and long.  The best place for that is in the  *.conf  stanza that depends
upon the event that the missing file is supposed to assert.

 
> The loose coupling gained by *not* making things too rigid is I think
> part of the power of the system.

Yes.  Where events are optional, then we don't want hard checks.

However if there was a double check on the file existing _and_ the event
happening, then there would be an enforced documentation of both the event
and where it was expected to come from, as a "good programming practice".

More than one source of an event?  Check for the existence of at least one
of the source files or commands.


> The 'emits' keyword is sort of like
> assertions, but on the other side.  Right now, there's no enforcement of
> emits, so they're prone to rotting over time.

All the more reason to have a programmed means to couple the emit with the
event's sensitivity.

-

Let me say again that this whole mess makes me nervous.  In the good old
days if I could come up with a strictly sequential order of
/etc/init.d/S[0-9][0-9]* scripts that worked reliably, I was done!

It would work every time because A would be followed by B etc. all the way
down to the end.  Getting the strict relationship of all events and all
dependencies correct is (for now) proving to be non-trivial.

I suggest once more that having the _option_ of having a strictly sequential
boot sequence for those of us that are not sensitive to how long it takes
the machine to boot is _very_ desirable.

Why is it desirable?  Because I have been burned repeatedly by upstart and
so I am still on Ubuntu 8.04.  I understand  /etc/init.d/S[0-9][0-9]* .
I don't yet understand  /etc/init/*.conf .

Mike Bianchi

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/585908

Title:
  Document all events (was: cross-comment events and *.conf files)

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to