Stephen Hahn wrote:
>   This is pretty cool.  What do you see as next steps?

Glad you like it.

 From our perspective, it's pretty much done - it meets our 
requirements, and we don't have a requirement (or funding) to make it 
general-purpose.

The first couple of things I'd do to improve it would be:

- Add "svccfg inventory".  (That would let us get rid of one or two of 
the few remaining platform-specific bits in our admin tool and 
installer.)  Not sure about other svccfg commands - it doesn't need 
import or delete, since it operates by reading the manifests directly. 
The property manipulation stuff might be appropriate if somebody wanted 
to support an application that used it for configuration - ours doesn't.

- Add svcs.  People (our QA and development) keep asking about it, even 
though SMFlite isn't part of the public interface to our product.

Both of those are pretty easy.

The two biggest gaps are also the two hardest to fill:

- Health monitoring.  Absent contracts, seems doomed.  Note that this 
limits the usefulness of svcs, though it would still be useful for 
displaying state and detecting startup failures.

- Better isolation from invoker.  Currently everything is a child of the 
invoker (that is, the process that says "svcadm enable" or "svcadm 
boot"), with all of the potential headaches associated with that.  It 
makes some attempt to break the ties, but the true-SMF answer of 
actually starting everything from the daemon seems much better.  (Even 
without it, centralizing the "daemonization" helps.)

My overall inclination isn't to try to duplicate 100% of SMF.  That's 
too much work, for too little payoff in this case.  Instead, I want to 
do the 10% of the work that yields 80 or 90% of the functionality. 
That's certainly plenty for my group's purposes, and I think it's 
probably plenty for wider compatibility purposes.  As I noted, if 
somebody ever puts contracts into the Linux kernel, it'd probably be 
better to just port real SMF.


Reply via email to