init: "before" functionality should block all services mentioned, not just the first
Binary package hint: upstart
There should be a way to express that a certain service has to be started before a list of other services. Currently we can do either:
a) start on (starting service1 or starting service2)
This will start our service before either service1 or service2, but only one of them will be blocked until service has started. Or:
b) start on (starting service1 and starting service2)
Which will block service1 and service2 until out service starts, but showstopper is that service won't be started unless both service1 and service2 will start.
We need some mechanism to block a list of services from starting until our service is ready, similar to the a) case from above, but where all services mentioned in the dependency statement have to wait for the service to start.
Inability to do this reliably and generically is stopping us from ensuring that our service starts before any interactive login is possible (console, graphics, network). I am also classifying this as a security problem since for our customers it really is so.
|security vulnerability:||yes → no|
|visibility:||private → public|
|Changed in upstart (Ubuntu):|
|status:||New → Invalid|
|Changed in upstart:|
|status:||New → Triaged|
|importance:||Undecided → Wishlist|
- Dependencies are not expressive enough for certain situations
+ init: "before" functionality should block all services mentioned, not
+ just the first