On Oct 1, 2009, at 4:57 PM, Clay Baenziger <clayb at sun.com> wrote:
> Hi Evan,
> Thank you for the review. Comments in-line.
> Thank you,
> Clay
>
> On Mon, 28 Sep 2009, Evan Layton wrote:
>
>> Hi Clay,
>>
>> Just a few more comments on the "C" code only...
>>
>> installadm.c
>>
>> line 899 - This needs to be changed as we discussed earlier today so
>> that we give a bit more description about what this function does.
>> Also we need to add a bit more description on what type of thing
>> SERVICE_DELETE_SCRIPT does. for example maybe saying something like
>> "the remaining clean-up is done by SERVICE_DELETE_SCRIPT" ( if
>> that's at all accurate... ;-) ) would help.
>
> I've made it clear we're calling the SERVICE_DELETE_SCRIPT but I
> still really don't want to enumerate what is done there. The
> engineer necessarily needs to read the SERVICE_DELETE_SCRIPT to know
> what it does
Which is why I suggested the comment that I did. What you do know at
this point is what this function does and the comment should reflect
this. The comment also needs to be descriptive of what
SERVICE_DELETE_SCRIPT does. I'm not suggesting that everyting it does
should be enumerated but we definitely need more then just "everything
else". All this being said I think either what I suggested or what
you've suggested below is probably adiquate.
> /*
> * do_delete_service:
> * Simply call SERVICE_DELETE_SCRIPT
> * All service deletion is handled and done in the
> SERVICE_DELETE_SCRIPT
> */
>
>> line 1168 The comment here is a bit misleading. What this really
>> does here is if there are no service instances with a state set to
>> "on" the we put the smf service into maintenance mode. We should
>> state that this is what is happening instead of saying it disables
>> something.
>
> Yes, I was getting my metaphors mixed up. I've changed the comment to:
> /* if no longer needed, put install instance into maintenance */
Put should probably be puts.
>
>> Also this points out the fact that the state can either be on or
>> off but there can be a third state where we've temporarily disabled
>> a service instance but still want it to start up the next time the
>> SMF service is started. This transient state is not dealt with in
>> here but is definitely outside the scope of this fix and I believe
>> this is now covered in bug 11604 that you filed earlier.
>
> I've filed bug 11604 for this indeed.
>
Sounds good, thanks for filing this.
>> ai_utils.c
>> line 166 - It might be helpful to state here why no data out of the
>> handle is needed here instead of just stating that we don't need
>> anything out of the handle here. Maybe something along the lines of
>> saying that the handle is not needed for this call since we not
>> destroying the property stored in the handle.
>
> I've expanded the comment to explain we were loading the property in
> to the SCF handle
>
> /*
> * No data is needed out of the property handle, we only need to load
> * the property in the SCF handle which was done by getting the PG
> */
>
Sounds good.
>> libaiscf_backend.c
>> line 82 - This isn't really "bound" to our handle but is stored in
>> the handle. It may make more sense to say "Allocate and initialize
>> a property group and store it in the handle".
>>
>> line 87 - Same thing but with the instance.
>
> I've made lines 71, 76, 82 all the same as 87 but took out
> initializes since there's no initialization happening. So, now for
> example:
>
> "Allocates a new scf_scope_t stored in the handle."
>
Sounds fine.
>> line 90 - maybe "Make sure we have what's needed to run SMF" ?
>
> Since we aren't really running SMF, I've changed to:
> "Make sure we have everything to communicate with SMF"
>
Sounds fine.
>> libaiscf_instance.c
>> line 264, 316 - Closure should be closure so that it matches the
>> actual parameter.
>
> Done
>
>> libaiscf_service.c
>> line 259 - should be "static PyObject *AIservice_print(PyObject
>> *self) {"
>> Also this doesn't actually print anything out does it? Seems
>> like a confusing name for this function. Not a big deal I
>> guess but it could cause confusion. (sorry I didn't notice
>> this before...)
>
> No problem, you're right this isn't the right verb. I've changed to
> AIservice_Str (to follow PyObject_Str).
>
Ship it ;-)
>> -evan
>>
>> Clay Baenziger wrote:
>>> Hi again all,
>>> I got a way to get webrev to work for me to do a differential
>>> including delete_service.py (still known as delete-service.py in
>>> the differentail webrev). See:
>>> http://cr.opensolaris.org/~clayb/delete_service/webrev2.diff2/
>>>
>>> Thank you,
>>> Clay
>>> On Wed, 23 Sep 2009, Clay Baenziger wrote:
>>>> Hi again all,
>>>> Well the addition of a thousand lines of code and 50+ pages of
>>>> comments I think I've got this re-spun for everyone's enjoyment,
>>>> please see:
>>>> http://cr.opensolaris.org/~clayb/delete_service/webrev2.diff/
>>>> (Unfortunately I can't get webrev to track that delete-service.py
>>>> became delete_service.py (so that it can be imported by
>>>> delete_client))
>>>> Or full webrev:
>>>> http://cr.opensolaris.org/~clayb/delete_service/webrev2/
>>>> The bug list has grown to include:
>>>> 4526 delete-service is not deleting service as described in
>>>> section 4.3.2
>>>> ai_design_doc
>>>> 6587 delete-service shouldn't remove the source image if
>>>> there's other
>>>> services actives 'linked' to the same source image
>>>> 8666 create-service: prints out SMF messages no matter what's
>>>> going on
>>>> 8773 create-service followed quickly by delete-service hangs
>>>> 10740 Need way to interact with SMF from Python for installadm
>>>> components
>>>> in Python
>>>> 11292 delete-client: should remove SPARC clients too
>>>> 11486 delete-service/delete-client: should check inetd.conf
>>>> for tftp root
>>>> To Drew:
>>>> --------
>>>> To address the ps(1) pain, I consolidated the function down and
>>>> filed 11524 - Should look to using PSI (Python System
>>>> Information) for Python process management
>>>> I looked into Bill's bootadm work but I don't fit an "alternate
>>>> root" environment and I'd still need to provide a lot of parsing
>>>> anyways.
>>>> To Sundar:
>>>> ----------
>>>> I think our phone call Thursday cleared up your questions?
>>>> For those in the code walk-through:
>>>> -----------------------------------
>>>> I chose to append our findings of being able to have both a SPARC
>>>> and X86 client to a bug on create-client rather than address
>>>> finding all possible nooks for a client and spewing lots of not
>>>> found messages to a user (or having to catch the messages in
>>>> funky ways).
>>>> Jack:
>>>> -----
>>>> Per the agreement between Drew's coding style suggestions, those
>>>> of PEP8's hanging indents and Google's Python style guide I've
>>>> followed PEP8/Google's Style guide, however, I hope next Tuesday
>>>> we'll have time to come to a consensus on Python style there as
>>>> this should expand past this one push, of course. Thank you for
>>>> getting me to think about this so much!
>>>>
>>>> Thank you,
>>>> Clay
>>
>>