vCenter Reduced Downtime Upgrade pre-check fails with "Failed to detect if the environment is in Enhanced Linked Mode"
search cancel

vCenter Reduced Downtime Upgrade pre-check fails with "Failed to detect if the environment is in Enhanced Linked Mode"

book

Article ID: 446672

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

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:

  • The vcsa-cli-installer surfaces the error: "The RDU prechecks encountered the following errors ['Failed to detect if the environment is in Enhanced Linked Mode or not.']".
  • The pre-check contains the following error: 

    ERROR *validator.ELMValidator: com.vmware.vapi.std.errors.not_found 
    DEBUG
    *workflow.Engine: vcenter.deployment.migration_upgrade.unable_to_detect_elm.error

    we will similar error in workflow_##########.zip_extracted/ehss-pvc-pod41/vc-support-bundle.tgz_extracted/etc/vmware-sca/resourcebundles/vlcm-resource-bundle.zip_extracted/ResourceBundle_en.properties
    vcenter.deployment.migration_upgrade.unable_to_detect_elm.error = "Failed to detect if the environment is in Enhanced Linked Mode or not."

    In /var/log/vmware/vlcm/vlcm.log we see the following events

    Err[0].Msg: vcenter.deployment.migration_upgrade.unable_to_detect_elm.error
    Err[0].Res: vcenter.deployment.migration_upgrade.general_resolution

  • The affected vCenter is a standalone node and is not part of an Enhanced Linked Mode (ELM) configuration.

Environment

vCenter 8.0.3
vCenter 9.0.2

Cause

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.

Resolution

To resolve this issue, manually bypass the ELM detection pre-checks using the Lifecycle Management (LCM) API on the vCenter.

  1. Log in to the source vCenter Server via SSH as root.
  2. Execute the following command to disable the ELM detection and ELM migration pre-checks:

    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"]}'
     
  3. Verify the checks are disabled by running:

    curl -k -u 'root:####' --location --request GET 'https://localhost/lcm/rest/vcenter/lcm/deployment/precheck-list'
     
  4. Restart the vCenter upgrade pre-check.

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.