For clusters in workload domains with vSphere Lifecycle Manager baselines, you can upgrade ESXi with a custom ISO from your vendor. VMware Cloud Foundation 4.4.1.1 supports multiple custom ISOs in a single ESXi upgrade in cases where specific clusters or workload domains require different custom ISOs.
Prerequisites
Download the appropriate vendor-specific ISOs on a computer with internet access. If no vendor-specific ISO is available for the required version of ESXi, then you can create one. See Create a Custom ISO Image for ESXi.
Procedure
- Download the VMware Software Update bundle for VMware ESXi. See Download Bundles from SDDC Manager.
To use an async patch version of ESXi, enable the patch with the Async Patch Tool before proceeding to the next step. See the Async Patch Tool documentation.
- Using SSH, log in to the SDDC Manager appliance.
- Create a directory for the vendor ISO(s) under the /nfs/vmware/vcf/nfs-mount directory. For example, /nfs/vmware/vcf/nfs-mount/esx-upgrade-partner-binaries.
- Copy the vendor-specific ISO(s) to the directory you created on the SDDC Manager appliance. For example, you can copy the ISO to the /nfs/vmware/vcf/nfs-mount/esx-upgrade-partner-binaries directory.
- Change permissions on the directory where you copied the ISO(s). For example,
chmod -R 775 /nfs/vmware/vcf/nfs-mount/esx-upgrade-partner-binaries/
- Change owner to vcf.
chown -R vcf_lcm:vcf /nfs/vmware/vcf/nfs-mount/esx-upgrade-partner-binaries/
- Create an ESX custom image JSON using the following template.
{ "esxCustomImageSpecList": [{ "bundleId": "bundle ID of the ESXI bundle you downloaded", "targetEsxVersion": "ESXi version for the target VMware Cloud Foundation version", "useVcfBundle": false, "domainId": "xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx", "clusterId": "xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx", "customIsoAbsolutePath": "Path_to_custom_ISO" }] }
whereParameter Description and Example Value bundleId ID of the ESXi upgrade bundle you downloaded. You can retrieve the bundle ID by navigating to the Lifecycle Management > Bundle Management page and clicking View Details to view the bundle ID. For example, 8c0de63d-b522-4db8-be6c-f1e0ab7ef554.Note: If an incorrect bundle ID is provided, the upgrade will proceed with the VMware Cloud Foundation stock ISO and replace the custom VIBs in your environment with the stock VIBs.targetEsxVersion Version of the ESXi bundle you downloaded. You can retrieve the target ESXi version by navigating to the Lifecycle Management > Bundle Management page and clicking View Details to view the "Update to Version". useVcfBundle Specifies whether the VMware Cloud Foundation ESXi bundle is to be used for the upgrade. Note: If you want to upgrade with a custom ISO image, ensure that this is set to false.domainId (optional, 4.4.1.1 only) ID of the specific workload domain for the custom ISO. Use the VMware Cloud Foundation API (GET /v1/domains) to get the IDs for your workload domains. clusterId (optional, 4.4.1.1 only) ID of the specific cluster within a workload domain to apply the custom ISO. If you do not specify a clusterId, the custom ISO will be applied to all clusters in the workload domain. Use the VMware Cloud Foundation API (GET /v1/clusters) to get the IDs for your clusters. customIsoAbsolutePath Path to the custom ISO file on the SDDC Manager appliance. For example, /nfs/vmware/vcf/nfs-mount/esx-upgrade-partner-binaries/VMware-VMvisor-Installer-7.0.0.update01-17325551.x86_64-DellEMC_Customized-A01.iso Here is an example of a completed JSON template.
{ "esxCustomImageSpecList": [{ "bundleId": "8c0de63d-b522-4db8-be6c-f1e0ab7ef554", "targetEsxVersion": "6.7.0-10302608", "useVcfBundle": false, "customIsoAbsolutePath": "/nfs/vmware/vcf/nfs-mount/esx-upgrade-partner-binaries/VMware-VMvisor-Installer-7.0.0.update01-17325551.x86_64-DellEMC_Customized-A01.iso" }] }
Here is an example of a completed JSON template with multiple ISOs using a single workload domain and specified clusters (4.4.1.1 only).{ "esxCustomImageSpecList": [ { "bundleId": "aa7b16b1-d719-44b7-9ced-51bb02ca84f4", "targetEsxVersion": "7.0.1-18150133", "useVcfBundle": false, "domainId": "1b7b16b1-d719-44b7-9ced-51bb02ca84b2", "clusterId": "c37b16b1-d719-44b7-9ced-51bb02ca84f4", "customIsoAbsolutePath": "/nfs/vmware/vcf/nfs-mount/esx-upgrade-partner-binaries/VMware-ESXi-7.0.2-17867351-DELL.zip" }, { "bundleId": "aa7b16b1-d719-44b7-9ced-51bb02ca84f4", "targetEsxVersion": "7.0.1-18150133", "useVcfBundle": false, "domainId": "1b7b16b1-d719-44b7-9ced-51bb02ca84b2", "customIsoAbsolutePath": "/nfs/vmware/vcf/nfs-mount/esx-upgrade-partner-binaries/VMware-ESXi-7.0.2-17867351-HP.zip" } ] }
- Save the JSON file as esx-custom-image-upgrade-spec.json in the /nfs/vmware/vcf/nfs-mount.
Note: If the JSON file is not saved in the correct directory, the stock VMware Cloud Foundation ISO is used for the upgrade and the custom VIBs are overwritten.
- Set the correct permissions on the /nfs/vmware/vcf/nfs-mount/esx-custom-image-upgrade-spec.json file:
chmod -R 775 /nfs/vmware/vcf/nfs-mount/esx-custom-image-upgrade-spec.json
chown -R vcf_lcm:vcf /nfs/vmware/vcf/nfs-mount/esx-custom-image-upgrade-spec.json
- Open the /opt/vmware/vcf/lcm/lcm-app/conf/application-prod.properties file.
- In the lcm.esx.upgrade.custom.image.spec= parameter, add the path to the JSON file.
For example, lcm.esx.upgrade.custom.image.spec=/nfs/vmware/vcf/nfs-mount/esx-custom-image-upgrade-spec.json
- In the navigation pane, click Inventory > Workload Domains.
- On the Workload Domains page, click the domain you are upgrading and then click the Updates/Patches tab.
- Schedule the ESXi upgrade bundle.
- Monitor the upgrade progress. See Monitor Updates.
- After the upgrade is complete, confirm the ESXi version by clicking Current Versions. The ESXi hosts table displays the current ESXi version.