init: "before" functionality should block all services mentioned, not just the first

Bug #568860 reported by Tvrtko Ursulin
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
upstart
Triaged
Wishlist
Unassigned
upstart (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

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.

Revision history for this message
Tvrtko Ursulin (tvrtko-ursulin) wrote :

P.S. This is about 10.4 Beta.

security vulnerability: yes → no
visibility: private → public
Changed in upstart (Ubuntu):
status: New → Invalid
Changed in upstart:
status: New → Triaged
importance: Undecided → Wishlist
summary: - Dependencies are not expressive enough for certain situations
+ init: "before" functionality should block all services mentioned, not
+ just the first
Revision history for this message
Cameron Norman (cameronnemo) wrote :

It seems as though the issue is in job_class_induct_job()

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.