VCF Automation upgrade precheck fails at the 'Topology Pre-check' stage: Datastore Mismatch Error
search cancel

VCF Automation upgrade precheck fails at the 'Topology Pre-check' stage: Datastore Mismatch Error

book

Article ID: 449293

calendar_today

Updated On:

Products

VCF Automation

Issue/Introduction

Attempting to run precheck for VCF Automation upgrade from  9.0.2 to 9.1 fails at 'Topology Pre-check' stage with following error:

"Source and target datastores do not match for the upgrade during"

  • Datastore remediation script from KB article do not fix the issue.
  • Stale value in the vcenter-main-secret secret points to old datastore.
    kubectl get secret <secret-name> -n prelude -o jsonpath='{.data.datastore}' | base64 -d; echo

Environment

VCF Automation 9.x

Cause

The VCF Automation precheck failed for Datastore mismatch due to VCF Automation retrieving the datastore from secrets instead of source.

Resolution

This is a known issue and will be fixed in future release. Subscribe to this article to be updated on the fix status; see Subscribe to a Broadcom knowledge article by article or product.

To workaround this issue update the vcenter-main-secret following these steps:

  1. Take SSH session to VCF Service runtime.
  2. Find the pod running this precheck
    kubectl get pods -n prelude | grep -i precheck
  3. Find the secret pod that backs /etc/vcenter-creds
    kubectl get pod <precheck-pod> -n prelude -o json |  jq '.spec.volumes[] | select(.secret != null)'
  4. Validate stale value into the vcenter-main-secret secret pointing to old datastore.
    kubectl get secret <secret-name> -n prelude -o jsonpath='{.data.datastore}' | base64 -d; echo
  5. Patch the Secret with the correct value.
    kubectl patch secret <secret-name> -n prelude --type='json' -p='[\{"op":"replace","path":"/data/datastore","value":"'"$(printf '%s' '/LabServices/datastore/<CorrectName>' | base64)"'"}]'