Stretch vSAN cluster fails - Cannot invoke "String.equals(Object)" because "cvdsName" is null
search cancel

Stretch vSAN cluster fails - Cannot invoke "String.equals(Object)" because "cvdsName" is null

book

Article ID: 388777

calendar_today

Updated On:

Products

VMware SDDC Manager

Issue/Introduction

Trying to stretch a vSAN cluster in a domain in the SDDC manager, fails at subtask - Update NSX TransportNode Profile with SubCluster configuration.

The cause of the failed task is Cannot invoke "String.equals(Object)" because "cvdsName" is null. Looking at the log you should find TRANSPORT_NODE_COLLECTION_UPDATE_FAILED error.

/var/log/vmware/vcf/domainmanager/domainmanager.log:


2025-02-12T15:36:03.376+0000 DEBUG [vcf_dm,67acbfe3ae0ab5a51c0ac684e2a59ccc,a4e7] [c.v.v.c.n.s.c.c.ApiConnection,dm-exec-3]  Creating ApiClient to https://nsxt_manager_fqdn:443 with username admin
2025-02-12T15:36:03.376+0000 DEBUG [vcf_dm,67acbfe3ae0ab5a51c0ac684e2a59ccc,a4e7] [c.v.v.c.n.s.c.c.ApiConnection,dm-exec-3]  Created ApiClient connection to: nsxt_manager_fqdn
2025-02-12T15:36:03.579+0000 DEBUG [vcf_dm,67acbfe3ae0ab5a51c0ac684e2a59ccc,a4e7] [c.v.v.c.n.s.c.c.ApiConnection,dm-exec-3]  NSX Version: 4.2.1.0.0.24304122, NSX Version with policy baseline: 4.1.2.0.0-0
2025-02-12T15:36:03.579+0000 DEBUG [vcf_dm,67acbfe3ae0ab5a51c0ac684e2a59ccc,a4e7] [c.v.v.c.n.s.c.c.ApiConnection,dm-exec-3]  Overriding Mp handlers with policy handlers
2025-02-12T15:36:03.593+0000 DEBUG [vcf_dm,67acbfe3ae0ab5a51c0ac684e2a59ccc,a4e7] [c.v.v.c.n.s.c.c.ApiConnection,dm-exec-3]  Closed ApiClient connection.
2025-02-12T15:36:03.593+0000 ERROR [vcf_dm,67acbfe3ae0ab5a51c0ac684e2a59ccc,a4e7] [c.v.e.s.o.model.error.ErrorFactory,dm-exec-3]  [TT1HSC] TRANSPORT_NODE_COLLECTION_UPDATE_FAILED Transport Node Collection update with subCluster failed
com.vmware.evo.sddc.orchestrator.exceptions.OrchTaskException: Transport Node Collection update with subCluster failed
        at com.vmware.vcf.common.fsm.plugins.nsxt.policy.action.UpdateTransportNodeProfileWithSubConfigAction.execute(UpdateTransportNodeProfileWithSubConfigAction.java:106)
        at com.vmware.vcf.common.fsm.plugins.nsxt.policy.action.UpdateTransportNodeProfileWithSubConfigAction.execute(UpdateTransportNodeProfileWithSubConfigAction.java:36)
        at com.vmware.evo.sddc.orchestrator.platform.action.FsmActionState.invoke(FsmActionState.java:62)
        at com.vmware.evo.sddc.orchestrator.platform.action.FsmActionPlugin.invoke(FsmActionPlugin.java:159)
        at com.vmware.evo.sddc.orchestrator.platform.action.FsmActionPlugin.invoke(FsmActionPlugin.java:144)
        at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.invokeMethod(ProcessingTaskSubscriber.java:400)
        at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.processTask(ProcessingTaskSubscriber.java:520)
        at com.vmware.evo.sddc.orchestrator.core.ProcessingTaskSubscriber.accept(ProcessingTaskSubscriber.java:124)
        at jdk.internal.reflect.GeneratedMethodAccessor1041.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:59)
        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.NullPointerException: Cannot invoke "String.equals(Object)" because "cvdsName" is null

Environment

VMware Cloud Foundation 5.x

Cause

VSAN Stretch fails if the stretch cluster API input does not have a mention of the VDS that are part of VCF inventory.  As per the error "cvdsName" is null indicates that the SDDC manager is unable fetch or find the required input in the spec file. 

If we have 2 NSX Profiles, then both these network profiles are needed, each linking to separate DVS. In the below example we have 2 VDS: VDS-01 and VDS-02

     "nsxthostSwitchConfigs": 
     [
      {
       "ipAddressPoolName": "IPPool-01",
     "uplinkProfileName": "UplinkProfile_name-VDS-01",
       "vdsName": "VDS-01",
       "vdsUplinkToNsxUplink": [
        {
         "nsxUplinkName": "uplink-1",
         "vdsUplinkName": "uplink1"
        },
        {
         "nsxUplinkName": "uplink-2",
         "vdsUplinkName": "uplink2"
        }
    ]
      },
      {
     "uplinkProfileName": "UplinkProfile_name-VDS-02",
       "vdsName": "VDS-02",
       "vdsUplinkToNsxUplink": [
          {
           "nsxUplinkName": "uplink-1",
           "vdsUplinkName": "uplink1"
          },
      {
           "nsxUplinkName": "uplink-2",
           "vdsUplinkName": "uplink2"
          }
       ]
      }

Resolution

There were 3 ways to resolve this - 

1. Un-stretch and reimage the hosts for the cluster. Stretch with the right spec.
2. Modify the Workflow input spec of the current failed workflow and retry.
3. Evaluate what NSX configuration is left and manually do it on the setup and skip the NSX actions. 

 

Step 2 and 3, will require modifying the workflow and the SDDC Database. Kindly contact Broadcom Technical Support for the steps.