vCloud Automation Center – vCAC – Workflow and Script to Change CPU’s to Cores

During a POC something was brought to my attention that I haven’t heard anyone ask for before, but it seems like a very useful and valid need. The ask was to be able to set CPU Cores during provisioning rather than CPU’s. Operating Systems and other apps license by sockets, not cores so instead of having 8 CPU Sockets with 1 core, why not have 1 CPU Socket with 8 Cores. So I decided to build a solution that would solve this and change the CPU Sockets to Cores.

Now I prefer to do as much as I can in the design center and with the WorkFlow stubs because then they will work for everyone without the need for the CDK so taking that into consideration here is what I have built.

Background Info:

I am executing my script at the MachineProvisioned state of the virtual machines lifecycle. This can mean different things based on the provisioning type that is selected. If we are talking about cloning then it means that the clone has finished, vCAC hardware customization has taken place, Customization Specification has executed, any operation performed by the guest agent are complete and the VM for all intents is complete.Using the WFStubMachineProvisioned workflow however I can perform additional operations before the machine is handed off to the owner. In this case I’m using the workflow stub to execute a powershell script named SocketsToCores.
[Read more…]