VCF on VxRail environment - workload deployment with WorkflowOptimization-script run on SDDC Manager fails with error "Host discovery get api failed"
search cancel

VCF on VxRail environment - workload deployment with WorkflowOptimization-script run on SDDC Manager fails with error "Host discovery get api failed"

book

Article ID: 389630

calendar_today

Updated On:

Products

VMware SDDC Manager / VCF Installer

Issue/Introduction

  • The VxRail cluster has been built and is attached successfully to the vCenter. But when adding this cluster as a workload domain to the SDDC manager using WorkflowOptimization-script fails with the below error:
    Host discovery get api failed
    Unable to fetch version for VxRail Manager:<vx_rail_manager_fqdn>
    Trust store path doesn't exist
  • The /var/log/vmware/vcf/domainmanager/domainmanager.log file on SDDC Manager contains these entries -
    INFO [vcf_dm] [c.v.v.v.h.util.VxRailHostUtil,dm-exec-2] Temp trust store /tmp/temp_cacerts########-####-####-####-############
    INFO [vcf_dm] [c.v.e.s.c.v.VxRailManagerService,dm-exec-2] Calling vxRailManager service to get VxRail Manager version for : <vx_rail_manager_name>
    INFO [vcf_dm] [c.v.e.s.c.v.VxRailManagerService,dm-exec-2] Creating VxRail Manager HttpClientService for account svc-username@vsphere.local
    ERROR [vcf_dm] [c.v.e.s.c.v.VxRailManagerService,dm-exec-2] Unable to fetch portgroupscom.vmware.evo.sddc.common.vxrail.error.VxRailManagerException: Unable to fetch version for VxRail Manager: <vx_rail_manager_fqdn>.VxRailManagerService.getVxRailManagerVersionWithTempTrust(VxRailManagerService.java:3499)
    .
    .
    .
    Caused by: java.lang.IllegalArgumentException:Trust store path doesn't exist

 

Environment

  • SDDC Manager 5.x
  • VCF on VxRail

Cause

During the Add Workload Domain workflow, SDDC Manager creates a temporary cacerts file to trust the SSL certificate of the VxRail Manager. The workflow script logic has a hard-coded expectation for a specific file path. If the OS generates the temporary file with a different random suffix or missing the temp_ prefix, the Domain Manager service fails to find the Trust Store, causing the secure handshake with the VxRail Manager to fail. This prevents the retrieval of version and port group information.

Resolution

  • To resolve this, validate the cacerts file name in the SDDC manager under /tmp directory and rename it as per the file name found in the error line in domainmanager.log. The flow creates the following file in SDDC Manager - /tmp/cacerts################### while as per the logs it excepts /tmp/temp_cacerts########-####-####-####-############.
  • Apply the below steps:
    • Rename and copy the file running the command:  cp /tmp/cacerts###################.tmp /tmp/temp_cacerts########-####-####-####-############.
    • Set the appropriate permissions and ownerships to match the original file running the below commands:
      chown vcf_commonsvcs:vcf /tmp/temp_cacerts########-####-####-####-############
      chmod 545 /tmp/temp_cacerts########-####-####-####-############
    • Restart the workflow and as the /tmp/temp_cacerts########-####-####-####-############. file now exists, the workflow is expected to succeed.