Glenn Lagasse wrote: > All, > > I've posted the first rev of the design document for the Virtual Machine > Constructor project at the following location: > > <http://www.opensolaris.org/os/project/caiman/VMC> > > Please provide any comments you may have by COB Friday, July 31st. If > you need more time to review the document, please let me know. > > Thanks, > >
Hi Glenn and team, Here are my comments on the spec. - General comment 1: it would be useful to provide a pointer to the functional spec from this doc, it can be referenced easily. - General comment 2: the doc just mention the code will integrate into slim_source gate. It would be useful to document the exact path. Also, will new directories inside the distro_const directory be created for all the VMC related code or not? - Components section: It would be useful to list which components are produced by the VMC project, and which are components that you use - VMC Manifest: It would be useful to specify whether these are new tags? Or replacement tags to existing things? and which section in the DC manifest these tags will appear. Also, what happened to all the existing content in DC manifests? Additionally, for DC, the order in which the finalizer scripts are listed is very important. So, please list the order of the finalizer scripts (new and existing), and the order in which they will be executed. It would be much more clear if you can include the manifest the VMC project will use as reference. - vm_memory_size and vm_disk_size: the spec says it defaults to AI client memory/installation size. Does this mean the value for these 2 things will be calculated dynamically? - The spec says "All VMC finalizer scripts will be implemented using KSH shell". I think it would be useful to explain why KSH is chosen over other languages in the spec. - prepare_ai_iso.ksh "overview" section, first sentence: It would be more clear to specify exactly what's the "proposed direction of the bootable AI client project". - prepare_ai_iso.ksh "input" section: When I first read "input", I thought these are arguments that get passed into the finalizer script. After a while, I realized these 2 input values will be retrieved from tags in the DC manifest. It would be useful to talk about that, and also say exactly which tag from the DC manifest it will use to get the values. - create_vm.ksh "input" section: since the "prepare_ai_iso.ksh" script must modify the ISO to make it work with the bootable AI project, I don't think you the <full path to bootable ai iso> tag as well as that "if-then-else" statement is useful. Instead, you need to specify how this will coordinate with the parepare_ai_iso.ksh script to make sure that you can figure out where's the prepared ISO. - create_vm.ksh "Description" section: why "If an error is detected a meaningful error message will be written to the DC log"? Why not just display all output and error? DC will log them appropriately. Is there a lot of output from those VM commands? - install_vm.ksh "Overview" section: I assume the bootable AI image will have SSH disabled. In order to allow monitoring of the install log via ssh, we need to enable SSH in the bootable AI image some how, not just configure the VM to allow SSH. - post_install_vm_config.ksh, "overview" section: I think the RAM size specified in the manifest is used in creating the VM, why do we need to reset it here? - export_vm.ksh, exported VM in supported formats. You didn't specify which format. Is it intentional that you want to keep it vague like that? In the diagram, you did say OVF. - Diagram: step 2: I thought AI client ISO is always provided. If it is not provided, the design doc didn't discuss how it will be generated. What about the other scripts mentioned above? Thanks, --Karen