# VMWare VCF Automated deployment MetalSoft provides an extension for deploying an VMWare VCF automatically. The currently supported version is 5.2.1. ## Requirements 1. The following files need to be on the repository: * the ESXI template such as VMware-VMvisor-Installer-8.0U3b-24280767.x86_64.iso * the VCF cloud builder VMWare-Cloud-Builder-5.2.1.0-2437856_OVF10.ova * Compatible hardware. Check [the official VMWare documentation](https://techdocs.broadcom.com/us/en/vmware-cis/vsan/vsan/7-0/vsan-planning-and-deployment-7-0/requirements-for-creating-a-virtual-san-cluster/hardware-requirements-for-virtual-san.html) with updated requirements. ## Registering the ESXI template 1a. Create the MetalSoft ESXI template (with internet access) ``` metalcloud-cli os-template list-repo metalcloud-cli os-template create-from-repo ESXi/8.0.3/esxi-8-cluster-node ``` 1b. Create the MetalSoft ESXI template (airgapped) In air-gapped environment, on a machine with internet access clone the github repository ``` git clone https://github.com/metalsoft-io/os-templates ``` Copy the `os-templates` directory to the machine where the CLI can be executed that has access to the Global Controller. The os-templates directory should contain the .git files. ``` metalcloud-cli os-template list-repo --repo-url /path/to/os-templates metalcloud-cli os-template create-from-repo ESXi/8.0.3/esxi-8-cluster-node --repo-url /path/to/os-templates ``` 2. Extract the `BOOT.cfg` file from the ISO Open the ESXI ISO and extract the `BOOT.cfg` file. On a linux server the following commands can be used: ``` mount /path/to/esxi.iso /mnt cat /mnt/EFI/BOOT/BOOT.CFG ``` Copy the content to clipboard. 3. Update the ISO Go to **Templates** > **esxi** > **Assets** > **BOOT.CFG**> **Content** Replace the content with the content of the clipboard. 4. Modify the `kernelopt` line in the ``` kernelopt=ks=cdrom:/KS.CFG ``` Click SAVE 6. Update the URL asset with the URL towards the ISO file. ``` https://path-to-your-repo/VMware-VMvisor-Installer-8.0U3b-24280767.x86_64.iso ``` Click SAVE ## Registering the VCF extension ``` git clone https://github.com/metalsoft-io/metalsoft-extensions metalcloud-cli extension create VCF application "VMWare VCF 5.2.1" --definition-source vmware-cloud-foundations/extension.json metalcloud-cli extension publish metalcloud-cli extension make-public ``` ## Preparing logical networks 4 different networks are required and must be created as separate logical networks either as pre-created or private: Go to **Admin** > **Fabrics** > fabric > **Logical networks** Create the following logical networks (the names need to match): * `vcf-mgmt` tagged: true. Activ-Active redundancy. Ensure this network has access to the **Site Controller**, in-band (set the correct vlan id and/or ip ranges). Choose a VLAN or leave on automatic. Set IPv4 allocation strategy to Auto with a /28 subnet and gateway placement strategy "default". * `vcf-san` tagged: true. Active-active redundancy. Choose a VLAN or leave on automatic. Set IPv4 allocation strategy to Auto with a /28 subnet and gateway placement strategy "default". Set IPv4 allocation strategy to Auto with a /28 subnet and gateway placement strategy "default". * `vcf-vmotion` tagged: true. Active-Active redundancy. Choose a VLAN or leave on automatic.Set IPv4 allocation strategy to Auto with a /28 subnet and gateway placement strategy "default". * `vcf-nsx` tagged: true. Active-active redundancy Choose a VLAN or leave on automatic. Set IPv4 allocation strategy to Auto with a /28 subnet and gateway placement strategy "default". ## Deploy a test VCF cluster From the infrastructure editor add a new VCF cluster from the list.