When performing a brownfield import (Import Existing vCenter) in VMware Cloud Foundation (VCF) 9.x, the task fails at "Generate Inputs for configuring NSX Manager"
search cancel

When performing a brownfield import (Import Existing vCenter) in VMware Cloud Foundation (VCF) 9.x, the task fails at "Generate Inputs for configuring NSX Manager"

book

Article ID: 423759

calendar_today

Updated On:

Products

VMware SDDC Manager VMware Cloud Foundation

Issue/Introduction

  • From the tasks under VCF Operations>Fleet management, we see that Import vCenter <vCenterFQDN> as a Domain is failed at "Generate inputs for configuring NSX Manager after import" with the cause: "vCenter with the name ##### not found in the inventory"
    Generate inputs for configuring NSX Manager after Import
    Description: Generate inputs for configuring NSX Manager after Import
    Progress Messages: A problem has occurred on the server. Please retry or contact the service provider and provide the reference token.
    Error: Message: A problem has occurred on the server. Please retry or contact the
    service provider and provide the reference token.
    Remediation Message:
    Reference Token:######
    Cause: vCenter with the name <vCenter FQDN> not found in the inventory
  • Error in var/log/vmware/vcf/domainmanager/domainmanager.log:
    ERROR [vcf_dm,###########,eb44] [c.v.e.s.o.model.error.ErrorFactory,dm-###-11]  [######] VCF_ERROR_INTERNA
    L_SERVER_ERROR Invocation of prefix '' part of task GeneratePostNsxImportConfigurationsInputAction in plugin ViDomainServicePlugin failed with exception.
    com.vmware.evo.sddc.common.core.error.InternalServerErrorException: Invocation of prefix '' part of task GeneratePostNsxImportConfigurationsInputAction in pl
    ugin ViDomainServicePlugin failed with exception.
            at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.invokeMethod(ProcessingTaskSubscriber.java:450)
            at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.processTask(ProcessingTaskSubscriber.java:517)
            at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.accept(ProcessingTaskSubscriber.java:128)
            at jdk.internal.reflect.GeneratedMethodAccessor332.invoke(Unknown Source)
            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.base/java.lang.reflect.Method.invoke(Method.java:569)
            at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:85)
            at com.google.common.eventbus.Subscriber.lambda$dispatchEvent$0(Subscriber.java:71)
            at com.vmware.vcf.common.tracing.TraceRunnable.run(TraceRunnable.java:63)
            at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
            at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
            at java.base/java.lang.Thread.run(Thread.java:840)
    Caused by: java.lang.RuntimeException: vCenter with the name ######## not found in the inventory

Environment

VMware Cloud Foundation 9.x

Cause

SDDC Manager performs a strict string comparison between the user-provided vCenter FQDN during import and the vCenter's internal PNID/Inventory record. A mismatch (e.g., Upper vs. Lower case) causes the "Not Found" error during the NSX Manager configuration generation subtask

Resolution

To resolve the inconsistency, the domain status must be manually transitioned in the SDDC Manager database to allow the Brownfield Import workflow to re-initialize and overwrite the stale metadata.

  1. Take a virtual machine snapshot of the SDDC Manager.
  2. Access the SDDC Manager via SSH as VCF user and switch to root and enter the PostgreSQL console:
    psql -h localhost -U postgres -d platform
  3. Identify the domain ID for failed import by executing the command
    select * from domain where status='FAILED';
  4. Copy the id from step 3 of the domain we are importing and update the status from 'FAILED' to 'ACTIVATING'
    UPDATE domain SET status = 'ACTIVATING' WHERE id = '[Target_Domain_ID]';
  5. Trigger a new Brownfield Import workflow with the proper spec (correct vCenter hostname). This Brownfield import operation will delete the inventory data associated with vCenter (case mismatch) and will try to re-import it.