James Carlson wrote:
> Nicolas Williams writes:
>> So, representing some service configuration and running state in SMF is
>> extremely attractive because of dependency management, if nothing else.
> 
> True, but we were at that point discussing the configuration bits.
> 
>> In this case I think the best thing to do is to use instances and leave
>> the turds on reboot disabled (perhaps a service to delete what-should-
>> have-been-temporary-instances would help, and we can get rid of it later
>> when temporary interfaces appear).
> 
> That was part of the basis of my question: will temporary instances
> _ever_ appear in SMF, or are they just a Bad Idea in general?
> 
> Mike's answer, if I understand it correctly, was not just that there's
> another way to do this (single instance, multiple properties), but
> that this way supports temporaries just fine, and doesn't require SMF
> changes.
> 
> I can actually go either way, but if I go the way you're suggesting
> then I really *do* need to know whether the SMF community thinks that
> temporary instances are viable and somewhere on the extended road map
> for the system.  If they're not, then I really can't see my way clear
> to creating a nasty little kludge that ends up living forever.  At
> least not on purpose.

I do think that temporary instances are viable, and may even be 
necessary for some tasks.  (I continue to worry about things that admins 
and even some system deployers used to just dump into /etc/rc?.d during 
boot to do startup-order dependent tasks just once.  It should be easy 
to do that under SMF too, and a manifest and non-temporary service is 
pretty heavyweight.  It dovetails with the pkg discussions about 
postinstall actions, though, so I'd rather not  half-explore that 
particular problem in this thread.)

I agree with Mike there are some things to worry about as far as the 
administrative model for temporary instances.  (And dependencies.)  It's 
certainly not on the immediate roadmap, so I'm not sure whether any of 
the above is helpful.

As far as the temporary creation goes, the other piece of design to 
consider is whether it's a requirement that somoene can to go from 
temporary to permanent without re-specifying the command-line 
configuration.  That is, "I tried this change, it worked out, and now I 
want to make it permanent".  It seems the difference is in context: is 
someone doing this to try the config out before committing to deploying 
it, just playing around with the system, or doing emergency 
reconfiguration things.

Finally, I'll stray from architecture and into current implementation 
and will note that you could create pseudo-temporary instances today. 
Using interactive svccfg, I can do this:
   add foobar
   select foobar
   add default
   select default
   addpg general framework P   (note the P, which means non-persistent)
   setprop general/enabled = boolean: true

Obviously, on reboot the "foobar:default" service will remain, but we 
leave things alone which don't have a general/enabled property.  (I 
guess svcs doesn't currently leave instances alone which don't have a 
general/enabled property, but the rest of SMF does, so we could probably 
change that.  David will probably catch me and note that profiles is 
considering perhaps using a different barometer for a 'complete' service 
instance, but the concept is the same here.)

It isn't clear that's better than your second option, though, which is 
the one that I'd lean towards on first glance.

liane

Reply via email to