Stretch cluster workflow fails in Validate IP Address Availability for Edge Overlay (TEP) IP Assignment action
search cancel

Stretch cluster workflow fails in Validate IP Address Availability for Edge Overlay (TEP) IP Assignment action

book

Article ID: 399582

calendar_today

Updated On:

Products

VMware SDDC Manager VMware NSX VMware Cloud Foundation

Issue/Introduction

Stretch cluster workflow fails with message "Failed to validate IP address pool" in Validate IP Address Availability for Edge Overlay (TEP) IP Assignment action when the configuration is set to have DHCP IP assignment for host TEPs and also provides teaming information (i.e teaming policy name, activeUplinks, standByUplinks) for uplinkProfiles along with vdsUplinkToNsxUplink mapping.

Environment

VCF 9.0

Resolution

As a workaround, stretch cluster input spec without cluster network specification should be used. This would still allow  DHCP IP assignment for host TEPs but user will not be able to provide below additional information:

  1. Teamings information (i.e teaming policy name, activeUplinks, standByUplinks) for uplink profiles in nsxClusterSpec.
  2. vdsUplinkToNsxUplink mapping in networkProfiles specification.

Instead AZ2 hosts will inherit the NSX configuration from AZ1 hosts i.e AZ2 hosts will have the same NSX configurations as the AZ1 hosts. However, if user wants to customize above NSX settings for AZ2 hosts then they can edit the required settings directly from NSX manager, steps for which are mentioned below.

  1. To edit NSX uplink to VDS uplink mapping
    System > Expand Fabric > Hosts > Transport node profile >Select the required TNP and click on edit  > Select the required host switch and click on edit 
  2. To edit teaming policy of uplink profile
    System > Expand Fabric > Profiles > Edit > Teamings > Select the required teaming > Edit

Additional Information

If the networkSpec is defined then the field "secondaryAzOverlayVlanId" is optional - however if the networkSpec is not defined then this field must to be passed in the API request.

https://developer.broadcom.com/xapis/vmware-cloud-foundation-api/latest/data-structures/ClusterStretchSpec/

A template spec from below can be used to pass validations and stretch the cluster:

 

{
  "clusterStretchSpec": {
    "deployWithoutLicenseKeys": true,
    "hostSpecs": [
      {
        "id": "#####-xxxxx-#####-xxxxx",
        "hostname": "sfo02-w01-r01-esx01.#####-xxxxx-#####-xxxxx",
        "hostNetworkSpec": {
          "vmNics": [
            {
              "id": "vmnic0",
              "vdsName": "sfo-w01-cl01-vds01",
              "uplink": "uplink1"
            },
            {
              "id": "vmnic1",
              "vdsName": "sfo-w01-cl01-vds01",
              "uplink": "uplink2"
            }
          ]
        }
      },
      {
        "id": "#####-xxxxx-#####-xxxxx",
        "hostname": "sfo02-w01-r01-esx02.#####-xxxxx-#####-xxxxx",
        "hostNetworkSpec": {
          "vmNics": [
            {
              "id": "vmnic0",
              "vdsName": "sfo-w01-cl01-vds01",
              "uplink": "uplink1"
            },
            {
              "id": "vmnic1",
              "vdsName": "sfo-w01-cl01-vds01",
              "uplink": "uplink2"
            }
          ]
        }
      },
      {
        "id": "#####-xxxxx-#####-xxxxx",
        "hostname": "sfo02-w01-r01-esx03.#####-xxxxx-#####-xxxxx",
        "hostNetworkSpec": {
          "vmNics": [
            {
              "id": "vmnic0",
              "vdsName": "sfo-w01-cl01-vds01",
              "uplink": "uplink1"
            },
            {
              "id": "vmnic1",
              "vdsName": "sfo-w01-cl01-vds01",
              "uplink": "uplink2"
            }
          ]
        }
      }
    ],
    "isEdgeClusterConfiguredForMultiAZ": true,
    "witnessSpec": {
      "fqdn": "sfo-w01-cl01-vsw01.#####-xxxxx-#####-xxxxx",
      "vsanCidr": "#####-xxxxx/##",
      "vsanIp": "#####-xxxxx"
    },
    "witnessTrafficSharedWithVsanTraffic": false,
    "secondaryAzOverlayVlanId": 0,
  }
}