Author: arkurth Date: Wed Jan 5 19:29:21 2011 New Revision: 1055596 URL: http://svn.apache.org/viewvc?rev=1055596&view=rev Log: VCL-424 Updated VMware.pm:
Added "memsize" values to the %VM_OS_CONFIGURATION hash representing the minimum amount of RAM in MB a particular OS requires. VMs will be assigned this amount of memory if the value assigned to the VCL image is less than the required MB for the OS. Added feature to automatically configure the SSH key to persist on ESXi. This is done by configure_vmhost_persistent_ssh_key. Removed call to set_vcld_post_load_status in load. This is now handled by the OS module. Updated logic in capture() to determine whether or not the image is captured to the repository based on whether or not vmprofile.repositorypath is configured. Added check to fail the capture process if vmprofile.vmdisk is local and the repository path isn't configured. Updated variable names in capture() to be less confusing. Updated capture code and all other places that use the repository path to allow the path to either be mounted on the VM host or management node. Mounting the repository directly on the VM host is preferred because VMware's utilities can be used to copy and convert a vmdk at the same time. Having a repository path mounted on the VM host is also much faster than using SCP to transfer an image. Updated capture code to always save images in the repository using the 2gbsparse format. Thin disks do not remain thin when copied using other utilities. Also, using SCP to copy a thin disk results in a fat disk. Updated code to use the management node OS object ($self->mn_os) wherever the management node OS was directly interacted with. Added feature to set the computer's current image and imagerevision to the "noimage" image whenever a VM is deleted. This improves the chances that the scheduler assigns a VM that is actually loaded with the requested image. Updated the VM display name to not contain "(nonpersistent)" if the VM is not persistent (default). It still displays "(persistent)" if the VM is persistent. This makes it easier to distinguish them in the vSphere Client. Added code to check the space available on the VM host before attempting to load a VM. This is not complete yet and isn't currently being called. Subroutines added: -is_vmx_vmdk_volume_shared -get_vmx_volume_total_space -get_vmdk_volume_total_space -check_vmhost_disk_space -reclaim_vmhost_disk_space Added feature to allow the vmprofile paths to either be: -a full absolute path: /vmfs/volumes/nfs-datastore -a datastore name: nfs-datastore -a datastore name in datastore format: [nfs-datastore] This allows the same profile to be used by multiple hosts as long as each host uses the same datastore names, even if pointing to different locations. Changed naming of vmx directory to be the same regardless of whether or not the VM is persistent. Added optional $vmx_file_path argument to power_on, power_off, power_reset, and power_status. Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/VMware/VMware.pm