Error: "Tier1 '/infra/tier-1s/########-####-####-####-############' cannot be deleted as Virtual service 'VCD-LoadBalancer-########-####-####-####-############-NAME-443' associated with it.
VMware Cloud Director 10.5.1
VMware Avi Load Balancer 30.1
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.
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.