Sangeeta Misra wrote:
> On 05/28/09 05:29, Alan Maguire wrote:
>> Sangeeta Misra wrote:
>>>
>>>
>>> In ILB project,  the persistent configuration is kept in the SCF 
>>> framework and a user would use svcadm  to enable/disable the ILB 
>>> service. My question is, in the event that the ILB service, 
>>> experiences a fatal error, is there a programmatic way to put ILB 
>>> service in maintainance mode ( to prevent the service from going 
>>> into a cycle or restart followed by fatal error)?
>> If the ILB service daemon can detect such fatal errors
>> once it has daemonized, you can use the libscf function
>>
>> smf_maintain_instance(ILB_FMRI, SMF_IMMEDIATE)
>>
>> (where ILB_FMRI points at the ILB service instance)
>>
>> ...to kill the associated running processes and put the
>> instance into maintenance. If there are fatal conditions
>> detectable before daemonizing, simply exit with
>> errorcode 95 (SMF_EXIT_ERR_FATAL).
>>
>> Hope this helps,
>>
>> Alan
> Thanks. Also after the service automatically goes into maintainance 
> mode, we would like to have the user save the ILB config ( and provide 
> that to us, so we can recreate the problem) and then wipe out the ILB 
> service configuration in scf to start fresh.
> Assuming this is possible with SCF, how can the user do this ? Do they 
> need to save a image of a shipped ILB config ( which is really enpty 
> config) before they configure ILB , so at a later time they can revert 
> back to that config?
>
hmm, one approach that might be worth investigating
- assuming all the config is in properties contained
in the ILB service instance - would be the use of SMF
snapshots (read-only views of the properties
associated with an instance). If I recall, the snapshot
interfaces (to create named snapshots and attach
to them) are private libscf functions, so I think
you'd need an ARC contract to use them, but they
might provide a useful method for archiving
and retrieving previous configuration views.

Alan

Reply via email to