Unable to delete an app bound to a Dell ECS service instance in Tanzu Application Service for VMs
search cancel

Unable to delete an app bound to a Dell ECS service instance in Tanzu Application Service for VMs

book

Article ID: 298003

calendar_today

Updated On:

Products

VMware Tanzu Application Service for VMs

Issue/Introduction

A similar error to the following is thrown when trying to unbind an app from a Dell ECS service instance.
cf2.scc.opsman: ~ $ cf unbind-service eps-ad-sps-submit-payment-api z2j0-secure-store
Unbinding app eps-ad-sps-submit-payment-api from service z2j0-secure-store in org Z2J0 / space z2j0_prod as admin... 

An unbind operation for the service binding between app eps-ad-sps-submit-payment-api and service instance z2j0-secure-store failed:

Service broker error: Error deleting binding 'a7a70ba9-5c1e-46ca-a964-a78544d23d17' for service '8e32d374-a5c8-4328-b8cb-a6cf5b241279': The specified key does not exist. FAILED


Environment

Product Version: 2.7

Resolution

This error is caused by a missing service-binding-guid.json in the ECS repository bucket. Once the binding file has been re-created the app bound to the service instance can be deleted using this command:
cf delete <appname>

1. Retrieve repository information from the ECS broker tile.

Get the repository details as shown below from the service broker tile. 
  • For Repository Endpoint, enter the URI/endpoint for the ECS S3 API that should be used for persisting broker metadata. This defaults to the object endpoint or base URL.
  • For Repository User, enter the name of the user that should be created or used for managing broker metadata.
  • For Repository Bucket, enter the name of the bucket that should be created or used for managing broker metadata.

Refer to steps 17, 18, and 19 in Installing and Configuring ECS Service Broker for VMware Tanzu for more information.

2. Create missing binding file in the repository.

Log into the repository.

Within the repository bucket, there are two directories, service-instance and service-instance-bindings. The service-instance directory has a .json file for each service instance. The service-instance-bindings directory has a .json file for each service binding. 

Create a service-instance-binding file, named guid.json, where guid is the missing binding guid from the error message.

Populate the service-instance-binding with the following data obtained from steps above and the output of cf env <app>. You can refer to an existing binding file to create this accurately.
  • Service Instance GUID
  • Service Instance Binding GUID
  • App GUID
  • ECS S3 Service Endpoint
  • ECS S3 Service Credential
Note: You can refer to an existing binding file to create this accurately.