Hi Karen, Thank you for the feedback. My response are in-line below.
Thank you! Joe Karen Tung wrote: > Hi Glenn and Joe, > > Here are my comments on the updated webrev. > > usr/src/cmd/distro_const/vmc/create_vm: > * lines 233-237: I think it is better to validate the value specified > for disk_size immediately after you get the value in line 201. > That way, we don't waste CPU power to get the other values if > the disk_size is not valid. Same comment applies to the ram size, I feel a very minimal amount of CPU would be saved by combining the parameter gathering with the parameter validation. I also fell doing so would reduce the readability and therefor the maintainability. I would like to leave this as it is. > OSTYPE, DIST_NAME and PKG_IMG_PATH. > * All over the file: instead of assigning the return value $? to a > variable > and then call vmc_error_handler, I think you can just call the function > with $? as an argument. You are correct, many places in the code do not need the assignment of $? to a status variable. However I don't feel doing so will noticeably detract from the performance. I have chased a few shell script bugs where a subsequent command had alter $? leading to the wrong command status being evaluated. So I developed the practice of saving $? into a status variable. I still feel it is safe and not costly. I would like to leave this as it is also. > > usr/src/cmd/distro_const/vmc/export_vm: > * lines 247-254: You can use "mkdir -m <mode> <dir_name>" to combine > the mkdir followed by chmod Good suggestion. Will do. > > usr/src/cmd/distro_const/vmc/install_vm > * line 184-185: just curious, why do you assign the command to > vbox_cmd and then, execute it in > the next line, instead of execute it directly? Because vbox_cmd is used on line 187, in the error message also. It should also be used in the log message. I will change this from: 183 print -u1 "\nInvoking: VBoxHeadless startvm ${DIST_NAME}" 184 vbox_cmd="VBoxHeadless -startvm ${DIST_NAME}" 185 ${vbox_cmd} 186 cmdsts=$? 187 vmc_error_handler ${cmdsts} "\nError: ${vbox_cmd} failed" To: vbox_cmd="VBoxHeadless -startvm ${DIST_NAME}" print -u1 "\nInvoking: ${vbox_cmd}" {vbox_cmd} cmdsts=$? vmc_error_handler ${cmdsts} "\nError: ${vbox_cmd} failed" > > usr/src/cmd/distro_const/vmc/post_install_vm_config > * 194-198: I think it is better to check whether > the RAM_SIZE specified is valid immediately after > you get the valid, such as at line 175. I think it is > kinda a waste of CPU power, to process all the other arguments > just to find the RAM_SIZE is not correct. Likewise for CPU and VIRT_HW. see my reply to this issue as raised for file create_vm > * line 250: should the return value be checked? also, to make sure at > least the > empty string is not returned? That would be caught above at the check if the VM is running. I don't think it is necessary to do it again. > * line 251-253: is it necessary to check and make sure the values > assigned to > all the orig_* variables are valid? I don't thing so because whatever value Virtual Box returns will simply be reapplied to the virtual machine in the exit handler. > > usr/src/cmd/distro_const/vmc/prepare_ai_image > * line 43, typo, prefix Good catch. > * line 95-99, nit, there's no need to invoke "rm" 5 times, you can just > invoke it once with all the file names listed. > * line 238-242, nit again, all the "rm" can be combined into 1 I will change these > * line 246: forgot to remove this line? Yes, good catch. > * line 248-end_of_file: instead of assigning cmd_stat to $?. I think > you can directly > pass $? to the vmc_error_handler function. see my reply to this issue as raised for file create_vm > > usr/src/cmd/distro_const/vmc/vmc_common > * line 44, typo, should be locale Good catch. > * line 120, wrong function name listed Good catch. > * line 125: the comment says input is none, but looks like at least 1 > input is provided to this function. Good catch. > > usr/src/cmd/distro_const/vmc/vmc_image.xml I will let Glenn reply to this. > * Some previous discussion of code review comments mentioned > that you will add a "flag post" to this file telling ppl what people > most like will modify or not, but I don't see this in the file yet. > * Also, I remembered that we will move the <distro_constr_flags> > section to be in front of the <finalizer>section since > distro_const_flags will more likely be modified, while the finalizer > scripts > sections is less likely to be modified. > * For the "export-esx" and "export-ovf" checkpoints, do you mean the > script name to be /usr/share/distro_const/vmc/export_vm? The 2 scripts > listed are removed, right? > > Thanks, > > --Karen > > > Glenn Lagasse wrote: >> The following link will display the updated webrev for the VMC project. >> It is a diff against what we submitted initially. >> >> <http://cr.opensolaris.org/~glagasse/webrev.diffs> >> >> We would like to get feedback on this round of changes no later than COB >> this Friday if at all possible. If you would like to review these >> changes but can't be done with your comments by then please ping me and >> we'll work something out. >> >> CAVEATS: >> >> o All pep8/pylint comments not addressed in this webrev for anything >> other than im_pop.py will be addressed when we merge with the python2.6 >> work and pick up Jean's fixes. >> >> o Some of the diffs will show changes that occurred in slim_source >> outside of VMC. This is the unfortunate result of my not reusing my >> initial workspace to address the code review comments. I could go back >> and do this if it's a real pain point to people (but would prefer not to >> at this point). >> >> o There's a small change coming for prepare_ai_image due to the >> bootroot/boot_archive changes in slim_source. That will be handled >> before integration and sent out as a small seperate review (essentially >> a 4-line change). >> >> o .image_info file creation. One of the review comments I received was >> that .image_info creation wasn't optimal. If the file can't be created, >> the DC build continues on even though the resulting media that needs the >> .image_info file (liveCD at the moment) won't work. I was going to >> clean this up in a generic way such that only media types that require >> it actually generate it. I wasn't able to come up with a solution that >> I liked in the time I allotted. Since VMC isn't regressing anything in >> regards to the .image_info file I'm instead going to file a bug against >> DC and fix this post-putback outside of VMC. >> >> Thanks, >> >> Team VMC (Joe and Glenn) >> _______________________________________________ >> caiman-discuss mailing list >> caiman-discuss at opensolaris.org >> http://mail.opensolaris.org/mailman/listinfo/caiman-discuss > > _______________________________________________ > caiman-discuss mailing list > caiman-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/caiman-discuss