Clay Baenziger wrote:
> Hi Ethan,
>     Thank you for finding apache does indeed create the directory, I 
> have reverted the SMF method.

thanks.

> 
> The issues for the service/instance, is you're using a handle to a 
> non-existent service under that method. Though I thought I checked 
> things carefully, I see that there is a bug:
> 
>>>> import osol_install.libaiscf as a
>>>> b=a.AIservice(a.AISCF(),"osol-1002-8347-ai-sparc")
>>>> b.keys()
> ['boot_file', 'service_name', 'status', 'image_path', 'txt_record']
>>>> b.instance.services
> {'osol-1002-8347-ai-sparc': <osol_install.libaiscf.AIservice object at 
> 0x80e34b4>}
>>>> b.instance.del_service("osol-1002-8347-ai-sparc")
>>>> a.AISCF().services
> {}
>>>> b.instance.services
> Segmentation Fault (core dumped)
> 
> I think this is due to the SCF handle still holding a pointer to the 
> (now) non-existent property group; so one needs an SCF data structure 
> without that incorrect data. I've filed 12047 - libaiscf_pymod: should 
> check validity of SCF PG handle in service transactions.
> 
> So, one needs to create a new AISCF object. This is unfortunate and for 
> the most part an AIservice object will raise an exception that the 
> service is not valid if the property group is deleted but this data was 
> not checked for.

Okay, thanks for the explanation and filing the bug.


thanks,
-ethan


> 
>                             Thank you,
>                             Clay
> 
> On Fri, 16 Oct 2009, Ethan Quach wrote:
> 
>> Clay,
>>
>>
>> svc-install-server
>> ------------------
>> The installadm code shouldn't have to check for, and make this dir.
>> This is simply configuration we've set for our instance of Apache.
>> Apache creates its configured LockFile and PidFile dirs accordingly
>> on the fly.
>>
>>
>> one more comment below ...
>>
>>
>> Clay Baenziger wrote:
>>> Hi Ethan,
>>>     Good ideas. New webrev at 
>>> http://cr.opensolaris.org/~clayb/11214_12016/webrev1/ as I need to 
>>> potentially create the /var/run directory path so the SMF method is here
>>> updated.
>>>                             Thank you,
>>>                             Clay
>>>
>>>> ai-httpd.conf
>>>> -------------
>>>> 36,37 - Shouldn't these paths be somewhere in /var/run instead of
>>>> somewhere on the disk?
>>>
>>> I had thought more about keeping AI bits together, but /var/run is 
>>> the canonical place for such stuff, so it should be there. Now the 
>>> next question is, there's /var/run/apache2/2.2/httpd.pid, so we 
>>> should use that directory. Thank you for pointing out a tmp. 
>>> directory is a much better place for such transient data (not to 
>>> mention where the ARC says to put such stuffs).
>>>
>>>> delete_service.py
>>>> -----------------
>>>> 809-812, Should we execute lines 814-819 first before we transition
>>>> to MAINTENANCE?
>>>
>>> I don't see it one way or the other. The code would need to be 
>>> slightly different to do it the way you suggest -- not bad, just 
>>> different.
>>>
>>> As per Jack's request in the code walk-through I try not to 
>>> instantiate extra AISCF() objects and consistently access the list of 
>>> services (here service.instance (the AISCF() object its wedded to), 
>>> then the services property of that -- so service.instance.services). 
>>> It simply saves creating another AISCF() object.
>>>
>>> There's no functional difference I'm aware of.
>>
>> I guess its just a nit perhaps, but it seems more logical for us to
>> make sure we successfully deleted the service configuration before 
>> transitioning to maintenance.   All I'm suggesting is the below.
>> (I'm not seeing how this involves creating another AISCF() object)
>>
>>
>>    # remove the service
>>    try:
>>        service.instance.del_service(service.serviceName)
>>    # if the service can not be found a KeyError will be raised
>>        except KeyError:
>>            pass
>>
>>    # if we just deleted the instance's last service, transition the
>>    # SMF instance to maintenance
>>    if len(service.instance.services) == 0:
>>        service.instance.state = "MAINTENANCE"
>>
>>
>>
>> thanks,
>> -ethan
>>
>>
>>
>>>
>>>> thanks,
>>>> -ethan
>>>>
>>>>
>>>> Clay Baenziger wrote:
>>>>> Hi all,
>>>>>     Could Ethan (or if someone else wants to instead) code review 
>>>>> the changes for:
>>>>> 11214 - AI image web server won't run if apache22 is already enabled
>>>>> 12016 - Need to use SIGTERM and check for last service in 
>>>>> delete_service
>>>>>
>>>>> The -- seven line -- webrev is at:
>>>>> http://cr.opensolaris.org/~clayb/11214_12016/
>>>>>
>>>>> The bugs are at:
>>>>> http://defect.opensolaris.org/bz/show_bug.cgi?id=11214
>>>>> http://defect.opensolaris.org/bz/show_bug.cgi?id=12016
>>>>>                             Thank you,
>>>>>                             Clay
>>>>
>>

Reply via email to