Edge Cluster Deployed with Incorrect VM Management VLAN ID Fails
search cancel

Edge Cluster Deployed with Incorrect VM Management VLAN ID Fails

book

Article ID: 313346

calendar_today

Updated On:

Products

VMware Cloud Foundation

Issue/Introduction

This article allows users to change or correct the VM Management VLAN ID for an already deployed VM Management Portgroup.

Symptoms:
When attempting to deploy / expand an edge cluster using an incorrect VM Management Vlan ID, the workflow will fail.

Example:

image.png

Environment

Vmware Cloud Foundation 5.1

Cause

If an incorrect VM Management VLAN ID is used during edge creation / expansion, the VM Management port group will be created using this incorrect ID as part of these workflows but Edge Deployment will fail and will fail at redeployment.

Resolution

Currently there is no resolution to the issue. This will be fixed in the future release.


Workaround:

To workaround the issue, please follow the steps mentioned below to manually change the VLAN ID for the Portgroup in vCenter and in the VCF Inventory:

Please take a snapshot of the SDDC Manager VM and of vCenter prior to starting this.

  1. Identify the VM Management Portgroup with the incorrectly configured VLAN ID.

  2. Right click the VM Management Portgroup and click Edit Settings.
    image.png

  3. Replace the Incorrect VLAN ID with the correct one.

image.png

  1. Find the VDS id of portgroup we need to change. This can be done by running this command in the in the SDDC Manager VM curl -s localhost/inventory/vds | jq.

  2. Using the ID obtained in step 3, run the following curl command to get the data for the specified VDS using this curl command: curl -s localhost/inventory/vds?id=<id> | jq ".[0]" > vds_info.json

  3. In the json acquired in step 4, change the VLAN ID of the port group that was changed in step 2 under the "port groups" section of the json to be the same as VLAN ID changed in step 2.

In this example, We would need to change the VLAN ID of SDDC-DPortGroup-Mgmt-DVPG in vds_info.json to the correct one we need.

{
  "id": "c0472a2a-030e-426b-92b6-0451020cd3c8",
  "name": "SDDC-Dswitch-Private",
  "mtu": 8940,
  "portGroups": [
    {
      "name": "SDDC-DPortGroup-Mgmt",
      "transportType": "MANAGEMENT",
      "type": "EPHEMERAL",
      "vlanId": 0,
      "mtu": 0,
      "activeUplinks": [
        "uplink1",
        "uplink2"
      ]
    },
    {
      "name": "SDDC-DPortGroup-VSAN",
      "transportType": "VSAN",
      "type": "EARLY_BINDING",
      "vlanId": 0,
      "mtu": 0,
      "activeUplinks": [
        "uplink1",
        "uplink2"
      ]
    },
    {
      "name": "SDDC-DPortGroup-vMotion",
      "transportType": "VMOTION",
      "type": "EARLY_BINDING",
      "vlanId": 0,
      "mtu": 0,
      "activeUplinks": [
        "uplink1",
        "uplink2"
      ]
    },
    {
      "name": "SDDC-DPortGroup-Mgmt-DVPG",
      "standbyUplinks": [],
      "transportType": "VM_MANAGEMENT",
      "type": "EARLY_BINDING",
      "vlanId": 300,  <-------- Change vlanId to correct one
      "mtu": 0,
      "activeUplinks": [
        "uplink1",
        "uplink2"
      ]
    }
  ],
  "niocs": [
    {
      "network": "VSAN",
      "level": "high",
      "value": 0
    },
    {
      "network": "VMOTION",
      "level": "low",
      "value": 0
    },
    {
      "network": "VDP",
      "level": "low",
      "value": 0
    },
    {
      "network": "VIRTUALMACHINE",
      "level": "high",
      "value": 0
    },
    {
      "network": "MANAGEMENT",
      "level": "normal",
      "value": 0
    },
    {
      "network": "NFS",
      "level": "low",
      "value": 0
    },
    {
      "network": "HBR",
      "level": "low",
      "value": 0
    },
    {
      "network": "FAULTTOLERANCE",
      "level": "low",
      "value": 0
    },
    {
      "network": "ISCSI",
      "level": "low",
      "value": 0
    }
  ],
  "clusterIds": [
    "468ea8c8-600b-425b-843a-66302bea7100"
  ],
  "isUsedByNsxt": true,
  "version": "8.0.0",
  "sourceId": "dvs-1001",
  "nsxtSwitchConfig": {
    "transportZones": [
      {
        "name": "overlay-tz",
        "id": "b56f0638-efb3-49e3-9bda-17d79b28e81e",
        "transportType": "OVERLAY"
      }
    ]
  }
}

  1. Double check the file is still a valid json file  by running cat vds_info.json | jq. If there's no error, it will just print the json out. If there is, it will inform.

  2. Run the command curl -X PUT localhost/inventory/vds/<vds_id> -d@vds_info.json -H 'Content-Type: application/json'.

  3. Users are now able to re-try the failed edge workflow.