Error: "Tier1 '/infra/tier-1s/########-####-####-####-############' cannot be deleted as Virtual service 'VCD-LoadBalancer-########-####-####-####-############-NAME-443' associated with it." when trying to modify transport mode
search cancel

Error: "Tier1 '/infra/tier-1s/########-####-####-####-############' cannot be deleted as Virtual service 'VCD-LoadBalancer-########-####-####-####-############-NAME-443' associated with it." when trying to modify transport mode

book

Article ID: 389824

calendar_today

Updated On:

Products

VMware Avi Load Balancer VMware Cloud Director

Issue/Introduction

  • Unable to modify transport mode on AVI Loadbalancer
  • When modifying the transport mode an error similar to the following is observed:

Error: "Tier1 '/infra/tier-1s/########-####-####-####-############' cannot be deleted as Virtual service 'VCD-LoadBalancer-########-####-####-####-############-NAME-443' associated with it.

Environment

VMware Cloud Director 10.5.1

VMware Avi Load Balancer 30.1

Cause

In earlier versions of Cloud Director the segment_id and tier1_lr_id were formatted as UUIDs. In version 10.5.1 and later, it switched t0 a full path representation such as /infra/tier-1s/<UUID>.

Loadbalancer created prior to 10.5.1 may still retain the UUID format for segment_id and tier1_lr_id objects on AVI, therefore this triggers an error when changing transport mode.

Resolution

This is is known issue.

Workaround

To workaround the issue the format of the segment_id and tier1_lr_id need to be manually updated to a full path representation. To achieve this the following steps can be performed.

1. Get the tier 1 gateways associated with the AVI cloud with the following GET call to AVI:

    GET: https://{$AVI_HOST_URL}/api/cloud/{$TARGET_CLOUD_UUID}

Note: In the AVI UI this cloud object is located in AVI under "Infrastructure -> Clouds".

2. Review the tier1_segment_config section in the API body output. Modify any incomplete UUIDs from that section. Add "/infra/segments/" to segment_id and "/infra/tier-1s/" to tier1_lr_id.

Example:

  "tier1_segment_config": {
        "manual": {
          "tier1_lrs": [
            {
              "segment_id": "/infra/segments/avi-data",
              "tier1_lr_id": "/infra/tier-1s/avi-tier-1"
            },
            {
              "segment_id": "/infra/segments/<uuid>",
              "tier1_lr_id": "/infra/tier-1s/<uuid>"

            }
          ]

 

3, Perform a PUT API call to AVI with the modified body.

    PUT: https://{$AVI_HOST_URL}/api/cloud/{$TARGET_CLOUD_UUID}

 

4. Now perform the desired operation to enable/disable transparent mode in the Cloud Director UI.