You are here: Home / NSX / Improved Workaround for NSX Edge Deployment & Upgrade to VCF 9.0.2 running AMD Ryzen CPUs
If you are using an AMD Ryzen (Consumer) CPU for your VMware Cloud Foundation (VCF) lab environment, you have most likely have applied one of the required workarounds for either installing an NSX Edge (HERE) or upgrading an NSX Edge (HERE).
For those planning to install or upgrade to the [latest VCF 9.0.2 patch release](https://techdocs.broadcom.com/us/en/vmware-cis/vcf…
You are here: Home / NSX / Improved Workaround for NSX Edge Deployment & Upgrade to VCF 9.0.2 running AMD Ryzen CPUs
If you are using an AMD Ryzen (Consumer) CPU for your VMware Cloud Foundation (VCF) lab environment, you have most likely have applied one of the required workarounds for either installing an NSX Edge (HERE) or upgrading an NSX Edge (HERE).
For those planning to install or upgrade to the latest VCF 9.0.2 patch release, which was just released today, you may come across this issue as shown in the screenshot below when attempting an NSX Edge upgrade.
While I have yet to run through the VCF 9.0.2 upgrade myself, a similar configuration file tweak from within the NSX Edge VM will be required. A colleague recently shared a more optimal trick for bypassing the non-supported AMD processor check, which would be simpler to implement for lab environments.
Disclaimer: This is not officially supported by Broadcom, please use at your own risk.
Instead of having to manually modify the configuration scripts that performs the AMD processor check within the NSX Edges, which will revert upon successful a upgrade, we can simply trick the NSX Edge VM to think it is running on an AMD EPYC processor rather than AMD Ryzen.
The solution is similar to what is performed by Enhanced vMotion Compatibility (EVC), where we are exposing specific CPUIDs to the VM. In this case, we are using updating the cpuid.brandstring to include the "EPYC" string as part of the CPU processor string. To further simplify this workaround, instead of applying this on a per-NSX Edge basis, we can apply this globally on an ESX host, so we do not have to deal with the timings of when the NSX Edge VM is deployed and/or powered on.
Step 1 - Identify the original AMD processor string using the vSphere UI or ESX Host Client. In the example, the system is running on an AMD Ryzen 9 9955HX
Step 2 - SSH to all ESX hosts and run the following command which will include the original AMD processor string with the appended "EPYC":
echo 'cpuid.brandstring = "AMD EPYC Ryzen 9 9955HX"' >> /etc/vmware/config
A reboot of the ESX host is not required but if you had attempted an installation or/upgrade of the NSX Edge VMs, you will need to make sure the VM has gone through full power cycle or simply re-attempt the operation which should yield in a new NSX Edge deployment.
For those automating their deployment of ESX hosts using kickstart, I highly recommend you include this in your configuration, so you do not have to think about it the next time you need to re-deploy.