Unable to create adapter for vCenter in VCF Ops "Unable to connect to VC: Duplicate key <UUID> (attempted merging values com.integrien.alive.common.adapter3.config.CertificateConfig@610ea512 andcom.integrien.alive.common.adapter3.config.CertificateConfig"
search cancel

Unable to create adapter for vCenter in VCF Ops "Unable to connect to VC: Duplicate key <UUID> (attempted merging values com.integrien.alive.common.adapter3.config.CertificateConfig@610ea512 andcom.integrien.alive.common.adapter3.config.CertificateConfig"

book

Article ID: 442726

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

Unable to create adapter for vCenter in VCF Ops UI error
"Unable to connect to VC: Duplicate key <UUID> (attempted merging values com.integrien.alive.common.adapter3.config.CertificateConfig@610ea512 andcom.integrien.alive.common.adapter3.config.CertificateConfig"

vCenter was present initially, but removed at a later point in time

Logs 

# cd /storage/log/vcops/log/adapters/ManagementAdapter
# less -i ManagementAdapter_#####.log
<Date && Time> WARN ManagementAdapter 6248 [ops@4413 threadId="16075" threadName="pool-14-thread-189" instanceId="11261"] [(11261) com.vmware.adapter.management.components.salt.Sa ltComponent.performBootstrapping] - Unable to get Fleet FQDN. Skipping the salt infrastructure setup and validation
<Date && Time> ERROR ManagementAdapter 6248 [ops@4413 threadId="16087" threadName="TasksManager-TaskHandler-262" instanceId="11261"] [(11261) com.vmware.adapter.management.compone nts.extensions.VcExtensionsComponent.getExtensionInfoForVc] - Unable to connect to VC
java.lang.IllegalStateException: Duplicate key <UUID_from_UI_error>  (attempted merging values com.integrien.alive.common.adapter3.config.Certific
ateConfig@8a7c53d and com.integrien.alive.common.adapter3.config.CertificateConfig@42cddac9)
        at java.base/java.util.stream.Collectors.duplicateKeyException(Unknown Source)
        at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Unknown Source)
        at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source)
        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source)
        at com.vmware.adapter.management.core.context.HostnameVerifierService.lambda$createHostnameVerifier$1(HostnameVerifierService.java:43)
        at java.base/java.util.Optional.map(Unknown Source)
        at com.vmware.adapter.management.core.context.HostnameVerifierService.createHostnameVerifier(HostnameVerifierService.java:42)
        at com.vmware.adapter.management.components.extensions.VcClientFactory.createClient(VcClientFactory.java:41)
        at com.vmware.adapter.management.components.extensions.VcExtensionsComponent.getExtensionInfoForVc(VcExtensionsComponent.java:222)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at com.vmware.adapter.management.core.VIMApplication$BeanTaskHandler.executeTask(VIMApplication.java:178)
        at com.vmware.adapter.management.core.VIMApplication.onTask(VIMApplication.java:87)
        at com.vmware.adapter.management.ManagementAdapter.onTask(ManagementAdapter.java:137)
        at com.integrien.alive.collector.Collector.handleNMPTask(Collector.java:3238)
        at com.integrien.alive.collector.task.handler.NMPTaskHandler.handleTask(NMPTaskHandler.java:14)
        at com.integrien.alive.collector.task.handler.NMPTaskHandler.handleTask(NMPTaskHandler.java:9)
        at com.integrien.alive.common.communication.task.handler.AbstractTaskHandler.processTask(AbstractTaskHandler.java:12)
        at com.integrien.alive.common.communication.TasksManager$TaskProcessor.handleTask(TasksManager.java:766)
        at com.integrien.alive.common.communication.TasksManager$TaskProcessor.run(TasksManager.java:745)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.base/java.lang.Thread.run(Unknown Source)
<Date && Time> ERROR ManagementAdapter 6248 [ops@4413 threadId="16111" threadName="TasksManager-TaskHandler-264" instanceId="11261"] [(11261) com.vmware.adapter.management.compone
nts.extensions.VcExtensionsComponent.getExtensionInfoForVc] - Unable to connect to VC
java.lang.IllegalStateException: Duplicate key <UUID_from_UI_error>  (attempted merging values com.integrien.alive.common.adapter3.config.Certific
ateConfig@25960ec3 and com.integrien.alive.common.adapter3.config.CertificateConfig@5f2969c2)
        at java.base/java.util.stream.Collectors.duplicateKeyException(Unknown Source)
        at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Unknown Source)
        at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source)
        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)

Environment

VCF Ops 9.1

Cause

Orphaned Certificate Objects:
-> An older certificate from the previous vCenter instance, or a failed adapter creation attempt is still present in the internal "Trust" store, and it's pointing to the impacted vCenter node
Duplicate Adapter Instances:
-> If there was a partially deleted adapter instance or if the vCenter is currently registered under both the VCF Adapter and a standalone vCenter Adapter, the certificates may conflict during the "VC extensions info check."

Resolution

  1. Backup/ Snapshot of VCF Ops
    take cluster offline  via admin UI
    shut down VM/ VMs
    offline snapshot

  2. Removed the "problematic"/ referenced certificate referenced in the error message, from VCF OPS
    Operate > Administration > Control Panel > Trusted Certificates > 3 dots remove

  3. Created adapter for the vCenter you tried to re-add vCenter

  4. Accept the certificate for the new integration if needed

  5. Re-add the certificate that was originally referenced in the error message, if that certificate is still needed.