When you perform a Reduced Downtime Upgrade (RDU) from vCenter 8.0.x to 9.0.x, the pre-check fails with the following symptoms:
validator.ELMValidator: com.vmware.vapi.std.errors.not_found
DEBUG *workflow.Engine: vcenter.deployment.migration_upgrade.unable_to_detect_elm.errorworkflow_##########.zip_extracted/ehss-pvc-pod41/vc-support-bundle.tgz_extracted/etc/vmware-sca/resourcebundles/vlcm-resource-bundle.zip_extracted/ResourceBundle_en.propertiesvcenter.deployment.migration_upgrade.unable_to_detect_elm.error = "Failed to detect if the environment is in Enhanced Linked Mode or not."/var/log/vmware/vlcm/vlcm.log we see the following eventsErr[0].Msg: vcenter.deployment.migration_upgrade.unable_to_detect_elm.errorErr[0].Res: vcenter.deployment.migration_upgrade.general_resolutionvCenter 8.0.3
vCenter 9.0.2
This issue occurs because the ELMValidator in the upgrade framework incorrectly handles a not_found response from the VAPI enumeration endpoint. Instead of identifying the node as standalone, the validator treats the missing ELM registration as a fatal detection failure.
To resolve this issue, manually bypass the ELM detection pre-checks using the Lifecycle Management (LCM) API on the vCenter.
curl -k -u 'root:####' --location --request PATCH 'https://localhost/lcm/rest/vcenter/lcm/deployment/precheck-list' \--header 'Content-Type: application/json' \--data '{ "enabled": [], "disabled": ["migration_upgrade.precheck.elm_detection", "migration_upgrade.precheck.elm"]}'curl -k -u 'root:####' --location --request GET 'https://localhost/lcm/rest/vcenter/lcm/deployment/precheck-list'Note: If the upgrade fails during the subsequent migration phase after applying this bypass, you must perform a Standard Upgrade instead of the Reduced Downtime Upgrade.