When deploying the VMware Cloud on AWS (VMC) vCenter Cloud Gateway (VCG), there is a minimum amount of vCPU and memory that is required for deployment. For customers who wish to evaluate this solution for non-production usage, such as a lab environment, it would be nice to be able to reduce the requirements purely for testing purposes. Today, the vCPU and Memory is not configurable and is currently encoded within a JSON configuration file as well as the VCG OVA. The fact that this is not part of the installer itself but within the OVA means we can actually change the default 🙂 Below are the instructions for updating the vCPU and Memory requirements for the VCG.
Step 1 - Download the VCG ISO from MyVMware and extract the ISO.
Step 2 - Open a terminal (Windows, Mac or Linux) and change into the vcgw folder which contains the VCG OVA file. To update OVA, we first need to convert it to an OVF using OVFTool (which is bundled in the same directory called ovftool). The command below is for a Windows system, simply replace the path of ovftool based on your OS:
ovftool\win32\ovftool.exe --skipManifestGeneration VMware-vCenter-Cloud-Gateway-6.8.1.20000-11187510_OVF10.ova VMware-vCenter-Cloud-Gateway-6.8.1.20000-11187510_OVF10.ovf
Step 2 - Open the .json configuration file using your favorite editor and update both the cpu and memory requirements. This file is used by both the UI and CLI Installer to validate that your deployment environment has enough resources.
{ "medium": { "cpu": 2, "memory": 8096, "host-count": 400, "vm-count": 4000, "disk-swap": "50GB", "disk-core": "50GB", "disk-log": "25GB", "disk-db": "25GB", "disk-dblog": "25GB", "required-disk-space": "190GB", "label": "vCenter Cloud Gateway", "description": "TDB" } }
Step 3 - Now open the OVF file using your favorite editor and search for the following section and then replace the "VirtualQuantity" value of both vCPU and Memory with the values you wish to use. In the example below, I am changing the default configuration to use 2 vCPU and 8GB of memory which should be plenty for evaluation purposes. Once you are done, save your changes.
<Item configuration="medium"> <rasd:AllocationUnits>hertz * 10^6</rasd:AllocationUnits> <rasd:Description>Number of virtual CPUs</rasd:Description> <rasd:ElementName> 8 virtual CPUs</rasd:ElementName> <rasd:InstanceID>1</rasd:InstanceID> <rasd:ResourceType>3</rasd:ResourceType> <rasd:VirtualQuantity>2</rasd:VirtualQuantity> </Item> <Item configuration="medium"> <rasd:AllocationUnits>byte * 2^20</rasd:AllocationUnits> <rasd:Description>Memory Size</rasd:Description> <rasd:ElementName> 24576 MB of memory</rasd:ElementName> <rasd:InstanceID>2</rasd:InstanceID> <rasd:ResourceType>4</rasd:ResourceType> <rasd:VirtualQuantity>8192</rasd:VirtualQuantity> </Item>
In addition, we also need to update the referenced size of our .json configuration file from its original contents within the OVF. In my example, the original file size was 376 bytes and the modified file is now 375. To do so, open the OVF file and search for "vmcg-layout.json" and then update the value of the size.
<ovf:File ovf:href="VMware-vCenter-Cloud-Gateway-6.8.1.20000-11187510_OVF10-file1.json" ovf:id="vmcg-layout.json_id" ovf:size="375"/>
Step 3 - Finally, we need to re-create the OVA by running the command below. Before doing so, make sure to rename the original OVA to some other file so you have a backup of the original file.
ovftool\win32\ovftool.exe VMware-vCenter-Cloud-Gateway-6.8.1.20000-11187510_OVF10.ovf VMware-vCenter-Cloud-Gateway-6.8.1.20000-11187510_OVF10.ova
Step 4 - Once the new OVA has been generated, you can now deploy the VCG using either the UI or CLI Installer.
As you can see in the screenshot below, our new VCG has been deployed with 2 vCPU and 8GB of memory.
Daniel Rethmeier says
Excellent description! Did work for me in my homelab. However, with VCG 6.8.7, the UI installer isn't working anymore with that modifications, it seems to have the CPU/Mem checks hard-coded. The CLI installation does work.
Fabio says
great job, in the latest version of vCenterCloudGateway I also had to edit the layout.json file in the folder... ui-installer\win32\resources\app\dist\resources\
modifying the Medium Layout
Peter Chafer says
Extremely helpful. Many thanks for sharing!