Clay,
As long as as svc-install-server is reverted, the other two files
look okay to me.
thanks,
-ethan
Ethan Quach wrote:
>
>
> 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
>>>>>
>>>
> _______________________________________________
> caiman-discuss mailing list
> caiman-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/caiman-discuss