On 05/29/09 09:56, Sangeeta Misra wrote:
> On 05/29/09 05:17, Alan Maguire wrote:
>> Sangeeta Misra wrote:
>>> On 05/28/09 08:21, Alan Maguire wrote:
>>>> 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). 
>>>
>>> The ILB SMF manifest does not contain the config properties.  Is 
>>> there a way of simply wiping out the ILB service configuration using 
>>> SCF commnand?  Since the shipped ILB config is an empty config, I 
>>> would think wiping the config out via SCF ( note by this I mean the 
>>> the config of the ILB service) and restarting the service via svcadm 
>>> should do the trick (??)
>>>
>> That would do the trick, with the proviso
>> that you'd need to refresh the ILB service
>> instance so the property deletion makes
>> it into the running snapshot (from which
>> the ILB daemon will read its config).
>> Auto-restarting I'm not sure about -
>> the more common SMF approach
>> would be to reserve maintenance
>> state for cases that required human
>> intervention. Under that model,
>> an explicit "ilbadm revert-config"
>> command or similar could clear
>> out the properties, refresh the
>> instance and clear the maintenance
>> state allowing the service to rerun
> Alan,
> Is it possible for ilbd daemon to wipe out the configuration   via 
> some scf function , *before* invoking  smf_maintain_instance() .
> Then the user could just manually do  svcadm enable <ilb service> to 
> get the system running ILB with and empty config?
>

Alan
Any comment on the above? If yes,how can the daemon wipe out the config ?


Reply via email to