On 04/22/11 01:25 PM, Darren Kenny wrote:
Hi,

I'd like to ask for help in reviewing the code for the moving of the Auto
Installer client to the CUD architecture.

Some light reading for the weekend ;)

As Drew pointed out, we're adding less code than we're removing - that has to be
positive, doesn't it??

I'm going to schedule a code review for 8am PDT/4pm IST on Tuesday 26th, I'll
send out details closer to the date.

The webrev is at:

        http://cr.opensolaris.org/~dkenny/cud_ai-to-slim/



Overall looks quite good. Did not review tests, but let me know if you need reviewers for those.

Dave

auto-install/__init__.py: start date on copyright should have stayed at 2008

ai_get_manifest.py:

73,828,829: should really be /system/volatile now

ai_manifest.xml:

22: start date on copyright should have stayed at 2008

114: The old manifest was showing the combination of these two properties applied together. The change doesn't seem the same.

ai_sd.py, 161: s.var/run.system/volatile.

auto_install.py

150 and others [esp. determine_profile_type()]: Ethan's zones spec says that -m is used for manifests, -p for SCI profiles. The usage here is -p for manifests (the prior, and confusing usage/terminology). Perhaps you can fix this now so that the QE tests converge sooner than later and the terminology doesn't cause developers to create bugs based on a misunderstanding of what profile means?

272: It seems surprising that we have to do this special handling, as well as the block at 395 in perform_autoinstall(). Would it make sense to modify the derivation and parser checkpoints to deal with the fact they may have nothing to do and let them just run in the normal sequence? It would seem to simplify a lot of perform_autoinstall(), though I realize you need to do something after parsing in order to process the proxy and auto_reboot settings, but even that could seemingly be a checkpoint.

315: If we're always going to send debug-level to the service log as implied at 297, is there really a reason to have -v?

437: I'm unclear how "creating Logical" is the right context in this error message, or what that even means.

480: It would be nice if we could set the dataset for the engine to take snapshots of during the install process. This would seemingly be helpful in debugging issues with all of the post-TI checkpoints.

567: what's the use case for -d?  Do we really need to bother?

997: s/of/if/

925ff: A lot of this seems like it might be more generally useful than just for AI. Should we put factoring this out as a future work item? parse_progress_msg seems like something that ought to come from ProgressHandler.

1029: Receive

1011: what's this magic number 524288?

target_selection.py

24: nit, new file, should just be 2011

81: not sure what there is to do right here. Surprising that the initial value isn't 0?

86: why not just use platform.processor()'s value directly?

251: In wording this error message and the many other similar ones that occur in this module, I'd suggest a slight alteration to provide better clarity (state the rule that's violated, rather than what was done in the manifest), and I wouldn't use capitalization where that causes the string to be different than the element or value used in the manifest (this helps searching more complex manifests). So, maybe something like "zpool '%s' must not be specified more than once", or (if you like some caps at the beginning) "Must not specify more than one zpool named '%s'".

501: The comment here is slightly incorrect, in that the noswap/nodump specifications allow for there to be none of either one.

547: "per root pool"

685: I would think there are other cases where found_toplevel should be set, but there isn't any other reference within the for loop that started at 588.

724: The "vdev redundancy" term seems a little obscure.

795: "each"

1088: "identifiable"

1360: why not do this check against discovered_disk before copying?

1671: Perhaps a better docstring

1778: Does an error or warning get raised somewhere else in this case?

usr/src/cmd/auto-install/svc/auto-installer:

s./var/run./system/volatile.g999

manifest-locator.xml, 42: If the only reason we had this dependency was to get /tmp mounted, we should drop it, as /system/volatile is mounted by the kernel before init even runs.

utmpx.py

110: we definitely need to check this behavior when virtual consoles are turned on, but my guess is that the right answer is to treat that as nobody being logged in

120: For the present implementation it would seemingly be better to have users_on_console() take an optional argument to turn on printing and then you can move 127-131 and delete the rest
_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to