Quoth Alan Maguire on Sat, Nov 04, 2006 at 10:53:10AM -0800:
> > Well manifest-import should always be enabled, so routing-setup would
> > always wait for it.  Does routing-setup actually install routes?
> 
> it does install the static routes specified in /etc/inet/static_routes, and
> sets the state of routing daemons appropriately on upgrade (in the
> particular case, network/routing/route was not enabled, and it - in.routed -
> was obtaining routes for the system). routing daemon services depend
> on routing-setup to ensure they do not run prior to it.
> 
> > When were routes available before your changes?
> 
> network/initial did the /etc/inet/static_routes installation and
> fired off "routeadm -u" (which simply forked the daemon programs
> in the past).

Ok.  If I recall correctly, the main reason manifest-import is so late
is because it must run after /var is mounted and /etc is writable.  Do
the static routes need to be installed before then?

> i guess my concern is that there would be a lot of times that
> routing-setup would be waiting for unrelated services to be imported
> by manifest-import. i suppose the start method for routing-setup
> could delete the dependency on manifest-import when it runs, so
> the dependency would only exist the first time routing-setup is imported,
> but there might be cases in the future (say when a routing daemon
> manifest is updated but routing-setup isn't, meaning routing-setup wouldn't
> wait for the import of the new service before trying to interact with it) 
> that might
> still cause problems on upgrade.

Making the service delete a dependency is something we should avoid.
With the current infrastructure, svccfg will interpret the deletion as
an administrative customization.  Maybe in all cases that works out ok,
but the inferred intent is wrong, so we should avoid it.


David

Reply via email to