Hi Keith,

Please see my responses to a few items inline.
I removed all items that I have no further comments on.

Thanks,

--Karen

On 01/ 3/11 11:10 AM, Keith Mitchell wrote:
Hi Karen,

Responding to the other items in-line.

- Keith



On 12/30/10 12:17 AM, Karen Tung wrote:




- I think it would be useful to check and make sure the
value returned from doc.get_descendants is not None instead of just assuming
that it is valid.

In most cases, if this value comes back as non-None, there's really no recovery possible. Originally, this threw an ObjectNotFoundError - these lines need to be updated now to set the "not_found_is_err=True" keyword on calling, now that it changed.
OK.


- Would it be useful to define a helper function for getting the
install profile obj so we don't have the exact same code all over the place?
I understand that it is just 2 lines, but it would still be useful
to just make 1 change instead of 10+ changes, if something needs to change.

Seems reasonable. I actually did just that for the ConfigProfile; no reason the same couldn't be done here. Although I'd actually expect the InstallProfile to disappear when the CUD/DOC 'target' objects are used in text installer. so the long term value might be limited.
In the long term, I envision the CUD/DOC target objects will be used for instantiating the target. However, the values currently stored in the install profile is still needed. For example, to display the values in the Text Installer summary screen, and possibility needed by the actual
installer application when it needs to set the timezone...etc..


Specific comments:
---------------------------
> usr/src/cmd/text-install/osol_install/text_install/__init__.py
- line 35: why are you doing "del gettext" here?  It would be useful
to put a comment here explaining the reason.

We can add a comment; though the line should probably just get removed. It's not terribly valuable in the grand scheme of things.
If that's the case, I supposed it is best to remove it. I was confused about what it is doing.
So, I asked.  :-)


> usr/src/cmd/text-install/osol_install/text_install/summary.py

- lines 55-56: same comment regarding hard coding the full help file path.

- lines 151-152: I think it would be better to define somewhere, perhaps
somewhere in the sysconfig module,
constants for indexes in the array for the root and primary user, so, we don't
need to remember that 0 means root and 1 means primary user.

I agree that the current method isn't best. I'll consider options for making this better. I'm not certain hard-coding 0 and 1 in a different spot is much better, to be honest - at one point we discussed using a dictionary of username to UserInfo object to store users, but that's difficult to use because (a) the primary user's login isn't easy to determine, and (b), with DOC, that sort of query isn't possible (DOC objects have a "name" attribute, but that's set at object creation time; so can't be changed if the person entering the data changes the username).
At install time, we are only concerned about a maximum of 2 users, root and the primary user. So, using 0 and 1 or whatever other hard coded scheme should be OK. I am not sure whether the user related objects you defined for the sys config project will be used for purposes other than installation. If so, the hard coding of indexes probably is not a good idea.


> usr/src/cmd/text-install/osol_install/text_install/text_install.py

- line 149: why is the loglevel hard coded to 0, instead of the
value in options.log_level?

I can't recall why I did that. It was either:
(a) A conflict with other logging services that will get resolved when the text installer is fully CUD'ified to use just one approach to logging, or
(b) a typo / left-over from testing.


- lines 155-156: "no_install_mode" and "is_x86" are not defined in the
install_profile object.  Should they be.  As with the previous comment,
it would be useful to define them and to print them out in __str__ for debugging.

Yes, when the text installer was written, I should've had those in the __init__ methods at minimum, and possibly in the __str__ method.

However, I'd expect "no_install_mode" to get deprecated for the engine's "dry_run" when text installer is updated to CUD. "is_x86" appears to only be used in by the reboot function in this same file; so it can simply be removed entirely, I think.
Sounds good. If you can remove the is_x86 flag right now. I will determine what to do with the no_install_mode when we fully change the text installer over to using CUD.


- line 160: I know there's no harm to register the checkpoint here.
But would it make the code easier to read to register it before you need
to run it?

My understanding is that checkpoints should, if at all possible, be registered all at once. Since Target Discovery would need to be run right away, the registration should occur here, when the program starts up.
In general, that's the case. When we fully change the text installer over, I will most likely put the registration here. For this particular putback, since you are just registering and running 1 checkpoint, I thought it will be easier to the person who will later be updating the code to have all the stuff that need to be re-shuffled in 1 place.
It is totally up to you guys, not very important to me.

Thanks,

--Karen
_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to