vCenter Reduced Downtime Upgrade (RDU) commit-phase precheck fails with "Failed to download package-pool/rpm-manifest.json"
search cancel

vCenter Reduced Downtime Upgrade (RDU) commit-phase precheck fails with "Failed to download package-pool/rpm-manifest.json"

book

Article ID: 450270

calendar_today

Updated On:

Products

VMware SDDC Manager / VCF Installer VMware Cloud Foundation

Issue/Introduction

When running the commit-phase precheck or upgrade for a vCenter Server upgrade using the Reduced Downtime Upgrade (RDU) mechanism in VMware Cloud Foundation (VCF), the precheck fails with one or more of the following symptoms

  • The vCenter unified commit precheck (vcenter_unified_commit_checks) reports a FAILED status.

  • The precheck error references a download failure similar to:

    Failed to download package-pool/rpm-manifest.json from
    https://<sddc-manager-fqdn>/vmware/vcf/bundle/<bundleId>/update_repo.

  • The associated remediation message advises: "Ensure the provided repository is accessible from the vCenter Server Appliance and that the repository contains .../update_repo/package-pool/rpm-manifest.json."

  • SDDC Manager's lcm-debug.log shows the vCenter update repository (update_repo) directory for the affected bundle contains vLCM operator files (e.g., vlcm-main, operator-manifest.json, htdocs/) instead of the expected vCenter update package contents (e.g., package-pool/rpm-manifest.json).

Environment

VMware Cloud Foundation 9.x

Cause

SDDC Manager can select the incorrect .zip file when preparing the vCenter update repository for a patch bundle that contains multiple .zip product binaries. As a result, the wrong zip's contents are extracted into the bundle's update_repo directory, which does not contain package-pool/rpm-manifest.json. When the target vCenter Server Appliance attempts to fetch this file during the commit-phase precheck or the upgrade the download fails.

Resolution

This is a  workaround to unblock the commit-phase precheck or upgrade. It manually re-populates the affected bundle's update_repo directory with the correct content.
This procedure is safe and non-destructive — it only replaces content in a regenerable staging directory and does not modify the downloaded bundle artifacts or any SDDC Manager database content.

  1. Take a snapshot of the SDDC Manager appliance

  2. Identify and record the bundle ID from the error message. 

    Failed to download package-pool/rpm-manifest.json from https://<sddc-manager-fqdn>/vmware/vcf/bundle/<bundleId>/update_repo

  3. SSH into the SDDC Manager with the vcf user and then elevate with su.

  4. Identify and record the required updaterepo.zip file. Note: Do not use the file named VMware-vlcm-operator-<version>.zip

    ls -lh  /nfs/vmware/vcf/nfs-mount/bundle/<bundleId>/<bundleId>/

  5. Set the local variables for the workaround.

    BUNDLE_ID=<bundleId>
    UPDATEREPO_ZIP=VMware-vCenter-Server-Appliance-<version>-updaterepo.zip
    BUNDLE_ROOT=/nfs/vmware/vcf/nfs-mount/bundle/$BUNDLE_ID
    SRC_DIR=$BUNDLE_ROOT/$BUNDLE_ID
    REPO_DIR=$BUNDLE_ROOT/update_repo

  6. Remove the existing (incorrectly populated) update_repo directory

    rm -rf "$REPO_DIR"

  7.  Recreate the directory

    mkdir "$REPO_DIR"

  8. Copy the correct updaterepo zip into it

    cp -p "$SRC_DIR/$UPDATEREPO_ZIP" "$REPO_DIR/"

  9. Extract the updaterepo.zip

    cd "$REPO_DIR" && unzip -q "$UPDATEREPO_ZIP"

  10. Update ownership

    chown -R vcf_lcm:vcf "$REPO_DIR"

  11. Update directory and file permissions

    find "$REPO_DIR" -type d -exec chmod 755 {} +
    find "$REPO_DIR" -type f -exec chmod 644 {} +
  12. Remove the copied zip (only the extracted contents should remain)

    rm -f "$REPO_DIR/$UPDATEREPO_ZIP"

  13. Retry the vCenter commit-phase precheck or upgrade from the SDDC Manager UI/VCF Operations UI.