Troubleshoot Service Binding Issues
After you create the API, you then bind your service with the API. This section provides possible causes for issues that might occur when you bind your service, and describes how to troubleshoot these errors:
If you provide a DNS name that does not comply with the DNS subdomain standard format, an error occurs and the binding fails.
If the binding name you provided does not match the required format when you create the binding, the output of the command displays the binding failed error:
The ServiceBinding "customer-API" is invalid: metadata.name: Invalid value: "customer-API": a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([a-z0-9])?(\.[a-z0-9]([-a-z0-9][a-z0-9])?)*')
When you create a binding, you must reference an API or an adapter that you previously created using its name. Otherwise, you receive the 'ReferencesNonexistentInstance' error.
This error can occur if:
The adapter name in the binding command is incorrect (adapter binding).
The API name in the binding command is incorrect (API binding).
The Namespace flag was not provided and therefore the service was searched for in the
Diagnose this issue by running one of the following commands:
$ asmctl api binding list
$ asmctl adapter binding list
The status of binding displays as
Before you create a binding, the API provisioning task must be completed and the referenced API or adapter must be ready. Otherwise, you receive the 'ErrorInstanceNotReady' error.
To diagnose this issue, check the status of the referenced instance by using either of the following commands, depending on whether you are using an API or an adapter binding:
$ asmctl api list
$ asmctl adapter list
To resolve this issue:
If the adapter or API provisioning has not yet completed (
Provisioningstatus), wait until the operation completes.
If the status is
Failed, review the corresponding troubleshooting section:
To delete the API or adapter, delete the binding first.
Wait for the API or the adapter to be ready.
The status of the delete transaction must not be
After the API or the adapter is ready, re-create the binding.