Adding a host to a cluster in SDDC Manager fails with the error "Create or update NSX SubCluster"
search cancel

Adding a host to a cluster in SDDC Manager fails with the error "Create or update NSX SubCluster"

book

Article ID: 429456

calendar_today

Updated On:

Products

VMware SDDC Manager / VCF Installer VMware NSX

Issue/Introduction

In SDDC Manager adding a host to a cluster fails with the error "Create or update NSX SubCluster"

Error "Create or update NSX SubCluster"

Message: SubCluster(s) creation or updation for cluster <cluster-name> failed

Remediation Message:
Reference Token: <Token-ID>
Cause: InvalidRequest (com.vmware.vapi.std.errors.invalid_request) => {messages = [], data = struct => {error_message=Error in creating sub-cluster######-####-####-####-##########. Host ######-####-####-####-########:host-<host-ID> belongs to sub-cluster #######-####-#####-########, httpStatus=BAD_REQUEST, error_code=610608,module_name=policy}, errorType = INVALID_REQUEST

 

The JSON specification used for the API call contains an empty string for the networkProfileName parameter.

JSON file example : 

'{
  "clusterExpansionSpec": {
    "hostSpecs": [
      {
        "hostNetworkSpec": {
          "networkProfileName": " ",
          "vmNics": [
            {
              "id": "vminc#",
              "moveToNvds": false,
              "uplink": "uplink#",
              "vdsName": "<DVS-Name>"
            },
            {
              "id": "vminc#",
              "moveToNvds": false,
              "uplink": "uplink#",
              "vdsName": "<DVS-Name>"
            }
          ]
        },
        "id": "######-####-####-####-########",
        "licenseKey": "<license-key>"
      }
    ]
  }
}'

Cause

When the networkProfileName parameter is left as an empty string " " in the host specification, the workflow fails to correctly identify and associate the host with the existing Transport Node Profile (TNP) of the cluster.

Resolution

This issue is resolved in VMware Cloud Foundation 5.1.1 Release Notes

Workaround:

To workaround this issue, first clean up the failed state of the host and then retry the operation with the correct networkProfileName.

Phase 1: Recovery (Clean up Failed State)

If the "Add Host" task has already failed, the host is likely in a partial state in NSX and SDDC Manager.

  1. Clean up NSX-T Configuration:
    • Log in to the NSX Manager associated with the Workload Domain.

    • Navigate to System > Fabric > Hosts > Clusters.

    • Expand the cluster view for the target cluster.

    • Identify the host(s) involved in the failed expansion. They may be listed under a sub-cluster with a UUID name (e.g., domain-c8:<UUID>).

    • Select the host and click ACTIONS > Change Sub-Cluster > Select None.

    • Repeat this for all failed hosts until they are removed from the invalid sub-cluster.

  2. Clean up SDDC Manager:
    • Log in to the SDDC Manager UI.

    • Navigate to the Cluster view where the addition failed.

    • Select the failed host(s) and trigger the Remove Host workflow.

    • Once removed, navigate to Hosts and Decommission the host(s).

    • Recommission the host(s) to prepare them for a fresh attempt.

Phase 2: Retrieve Correct Network Profile Name

Identify the correct Transport Node Profile name to populate the networkProfileName field.

Option A: via NSX Manager

  1. In NSX Manager, navigate to System > Fabric > Hosts > Transport Node Profile.

  2. Locate the profile name associated with your target cluster (e.g., TNP-Cluster01).

  3. Copy this name exactly.

Option B: via SDDC Manager API

  1. Get Cluster ID: GET /v1/clusters

  2. Query Config: POST /v1/clusters/{cluster_id}/network/queries with body {"name": "VCENTER_NSXT_NETWORK_CONFIG"}.

  3. Get Profile Name: GET /v1/clusters/{cluster_id}/network/queries/{query_id} and look for the networkProfileName value in the response.

Phase 3: Execution

  1. Construct the Add Host API payload (JSON).

  2. Ensure networkProfileName is set to the value retrieved in Phase 2 (e.g., "networkProfileName": "TNP-Cluster01").

  3. Submit the Add Host request.

Additional Information

VMware Cloud Foundation 5.1 Release Notes