Quoth James Carlson on Fri, Oct 27, 2006 at 07:52:29AM -0400:
> David Bustos writes:
> > SMF users and developers,
> > 
> > What would you think about something like this:
> > 
> >     $ svcadm enable nfs/server
> >     Error: svc:/network/nfs/server:default is locked.
> >     Use share(1M) to administer this service.
> 
> Ouch.  I think your implementation details are showing.
> 
> In general, I think the melange of internal system implementation
> artifacts and external administrative interfaces implied by this sort
> of change represents a problem for SMF.  It's not clear to me what the
> intended architectural direction might be.

I think that's appropriate since it's not clear to the SMF team, either.
As I alluded to in my mail to Mr. Shapiro, there seems to be a hirearchy
of abstractions here, whereas SMF currently only supports a flat space
of the lowest level - individual daemons.  I suspect we could allow
developers to deliver higher-level virtual services which would
represent lower-stability restart-units, but the SMF team hasn't
discussed that.  In the short term, redirecting users from
implementation details to higher-stability feature-specific commands
seems like a sweet spot.

> More deeply, it seems to me that there are two forces that are in
> conflict here.  On one side, we want to have task-specific tools to
> make administration simpler and more coherent than can be accomplished
> with svccfg.  On the other side, those tools have underlying
> dependencies on bits that we have no choice but to expose via SMF and
> thus encourage use from outside the task-specific framework.

Ah, but this proposal is about offering a choice about exposure via SMF.
Perhaps it should go deeper and not even expose them for reading.
(Which is reminiscent of the recent exchange between meem & Stephen
Hahn.)

> The big problem I see with that (and I had a hallway discussion with
> the recently-returned meem yesterday) is with profiles.  How is it
> that a profile can be constructed and maintained if the contents
> actually represent references to internal service implementation
> details?

Yes, this is a key realization of the Enhanced Profiles project -- the
actual properties of each service is the implementation of that service,
and really, only feature-specific tools should ever be interpreting them
or changing them (e.g., the share(1M) command or the NFS "Visual Panels"
plugin).  If a developer has decided that it makes sense to expose a raw
property to a user, then he should do so because he gets the svccfg
interface (and presumably the upcoming auto-generated "Visual Panels"
graphical user interfaces) for free.  And the semantics of those
interfaces could be enhanced by the metainformation supplied via the
template mechanisms (see
http://opensolaris.org/os/project/vpanels/templates ).  In any case, for
the most part, the contents of profiles should be considered opaque to
the ordinary user.


David

Reply via email to