VxRail bundle download could fail in SDDC Manager when switched from offline depot to online depot.
search cancel

VxRail bundle download could fail in SDDC Manager when switched from offline depot to online depot.

book

Article ID: 421763

calendar_today

Updated On:

Products

VMware Cloud Foundation

Issue/Introduction

When SDDC Manager is connected to offline depot and then later connected to online depot, download of some of the VxRail bundles fail as they are still being attempted to be downloaded from offline depot.

Environment

VxRail on VMware Cloud Foundation 5.2, 5.2.1, 5.2.1.1

 

Cause

When offline depot is setup, URL to download VxRail bundles are modified in partnerBundleMetadata.json/vxrailPartnerBundleMetadata.json to point to offline depot domain in order for VxRail bundles to be downloaded from offline depot. As metadata of VxRail releases present in partnerBundleMetadata.json/vxrailPartnerBundleMetadata.json are immutable once they are ingested into SDDC Manager (until 5.2.1.2), URL to download VxRail bundle would still point to offline depot domain even after switching to online depot, if the corresponding VxRail metadata is ingested when connected to offline depot which results in failure to download those VxRail bundles.

Resolution

In SDDC Manager 5.2.1.2 and above this issue wouldn't occur as VxRail metadata is made mutable.


Workaround without upgrade to SDDC Manager 5.2.1.2 or higher

Perform bundle cleanup for the VxRail bundle which failed to download. This cleans up the corresponding VxRail metadata. Subsequent depot sync which happens every 5 minutes by default (configurable) would ingest the VxRail metadata with correct URL to download from online depot.

 

Steps to perform bundle cleanup for the VxRail bundle that failed to download

  1. Get bundle ID for VxRail bundle which failed to download as below

    Get token to invoke SDDC Manager API's by running below command. Replace placeholders <SSO Username> and <SSO Password> in the command with actual values

    Command to obtain token for invoking SDDC Manager APIs

    token=`curl -X POST -k https://localhost/v1/tokens -H 'Content-Type: application/json'  -d '{"username" : "<SSO Username>", "password" : "<SSO Password>"}' -s | jq -r '.accessToken'`

  2. Get VxRail bundle ID for the VxRail bundle that failed to download by running below command. Replace placeholder <VxRail Version> with the version of VxRail bundle that failed to download.
    curl -k -X GET https://localhost/v1/bundles --header 'Content-Type: application/json' -s --header "Authorization: Bearer $token" | jq '.elements[] | select(.type == "VXRAIL" and .version == "<VxRail Version>") | .id'

  3. Perform bundle clean up of VxRail bundle that failed to download by running below command. Replace placeholder <Bundle ID> with bundle ID obtained in above step.

    NOTE: Below command should be run as "root"

    Command to cleanup bundle in SDDC Manager

    python /opt/vmware/vcf/lcm/lcm-app/bin/bundle_cleanup.py <Bundle ID>