VMware Solutions Discussions
VMware Solutions Discussions
Hello Everyone,
Environment info:
Server
vCenter Server Version : 4.1.0 build 258902
VMware Host : ESXi ver . 4.1 build 260247
NetApp Virtual Storage Console 2.0.1 P1 & Virtual StorageConsole v 2.1 (both gave same issue)
Storage : Datastores on both NFS and VMFS Fiber Channel LUNs,
VM's
vMware Tools installed in VM's : VMware Tools for Windows ver 8.3.2 build257589
Virtual Machines : Windows 7 SP1
Guest Customization: Simple vCenter Guest Specification that renames machine and adds to domain.
The issue I'm running into is that I can’t get the guest customization to apply when I deploy a rapid clone to a F/C VMFS Datastore.
The vSphere Client - Recent Tasks window displays the following error when it attempts to apply the guest customization.
"Customization of the guest operating system"windows7Guest" is not supported in this configuration. MicrosoftVista(TM) and Linux guest with Logical Volume Manager are supported only forrecent host and VMware Tools versions. Refer to vCenter documentation for supported configurations."
Now, the virtual hard drive of the vm is SCSI(0:0) which I know is requriment. Also, I'm able to deploy vCenter Clones w/Guest Customization off this same base image in the vmfs datastore without any errors, so I do not think it's the image/ guest cust.
To make it even more interesting , Rapid Clones w/Guest customization will function without any problems if I deploy to NFS Datastores and the base image residing in the VMFS F/C Datastore is a copy of the base image in the NFS Datastore.
Below is a copy of Kamino.log regarding this machine's guest customization ---
------------------------------------------------------------------------------------------------------------------------------------------------
2011-05-24 11:31:34,918 (2136068818@qtp-1483021973-24) INFO [VmCloner]- Checking in VirtualMachine named MIS-TestRCU2
2011-05-24 11:31:35,043 (2136068818@qtp-1483021973-24) INFO [VmCloner]- MIS-TestRCU2 will have Win7 for RCU applied.
2011-05-24 11:31:35,043 (2136068818@qtp-1483021973-24) DEBUG [VmCloner] -MIS-TestRCU2 Tools Version: 0
2011-05-24 11:31:35,043 (2136068818@qtp-1483021973-24) DEBUG [VmCloner] -applyCustomization: MIS-TestRCU2 will have Win7 for RCU applied.
2011-05-24 11:31:35,058 (2136068818@qtp-1483021973-24) INFO [VmCloner]- Customization Spec named Win7 for RCU was found
2011-05-24 11:31:35,137 (2136068818@qtp-1483021973-24) DEBUG [VmCloner] -Win7 for RCU is a Customization Sysprep.
2011-05-24 11:31:35,137 (2136068818@qtp-1483021973-24) DEBUG [VmCloner] -Finished UTF-8 encode of CustomizationUserData for Win7 for RCU (if requested).
2011-05-24 11:31:35,137 (2136068818@qtp-1483021973-24) DEBUG [VmCloner] -Finished UTF-8 encode of CustomizationIdentification for Win7 for RCU ifrequested.
2011-05-24 11:31:35,137 (2136068818@qtp-1483021973-24) INFO [VmCloner]- Finished UTF-8 encode for City Hall - Win7 for RCU (if requested).
2011-05-24 11:31:35,433 (2136068818@qtp-1483021973-24) DEBUG [VcInventory] -Entering waitOnTask (which now calls waitForTask),KaminoCountDownLatch [look is0 with a max of 3 (look starts as zero).]
2011-05-24 11:31:35,433 (2136068818@qtp-1483021973-24) DEBUG[KaminoCountDownLatch] - keepGoing: look (1) is less than maxLook (3). Returning true (keep going).
2011-05-24 11:31:35,449 (2136068818@qtp-1483021973-24) DEBUG [VcInventory] -waiting on VirtualMachine.customize which is in the following state: running
2011-05-24 11:31:36,949 (2136068818@qtp-1483021973-24) DEBUG [VmCloner] -Adding this VM to second try...
2011-05-24 11:31:36,965 (2136068818@qtp-1483021973-24) INFO [VmCloner]- Customization of MIS-TestRCU2 result : error
------------------------------------------------------------------------------------------------------------------------------------------------
It seems from the log above that vmware toolsis not being found in the vm, thus failing the guest customization ? Also, I've tried deploying the rapid clone with the power on vm option not checked and it still gives the same error.
Solved! See The Solution
This is a known bug in VMFS environments. The rapid cloning feature creates a new VM as part of the cloning process. This VM is stripped of any disks and is used as the source of all future VM clones. This first VM is created using the CloneVM_Task API in the VMware SDK. Unfortunately, there is a bug in this API that does not properly apply the VMware Tools version to the new VM. This bug is then propagated to all future clones and the customization that comes later fails.
It is addressed in the next release of the provisioning and cloning functionality.
In the interim, you could probably using sysprep tools to "seal" a gold VM and then configure it to run sysprep on boot for all new clones.
This is a known bug in VMFS environments. The rapid cloning feature creates a new VM as part of the cloning process. This VM is stripped of any disks and is used as the source of all future VM clones. This first VM is created using the CloneVM_Task API in the VMware SDK. Unfortunately, there is a bug in this API that does not properly apply the VMware Tools version to the new VM. This bug is then propagated to all future clones and the customization that comes later fails.
It is addressed in the next release of the provisioning and cloning functionality.
In the interim, you could probably using sysprep tools to "seal" a gold VM and then configure it to run sysprep on boot for all new clones.
Hello Costea,
Thank you for the reply .
I was able to apply the Guest Cust to the VMFS Rapid Clones by leveraging the vSphere PowerCLI (PowerShell); however, it's a multi step process.
After I read your post, I queried via the PowerCLI newly created (via RCU in VMFS) Virtual Machines what vmware tools version they had , as expected , version came back as 0. The good news is that shortly after booting the machines the tools version field is updated to reflect the installed vmware tools and you get an actual version number.
So based off of what I found , I did the following to get around the bug,
1) Create rapid clones to VMFS, but do not set a guest customization, set vm's to power on.
2) Power off clones once they come online and set the guest customization to the newly created clones via the vSphere PowerCLI.
Clones run through the guest customization and are ready to use shortly afterwards
jmanzano07,
Can you share how you kicked off the guest customization using PowerCLI? I see how to do it while creating new VMs but have not been able to figure out how to on existing VMs.
Thanks!
Get-VM name | Set-VM -OSCustomizationSpec $thespec -Confirm:$true