Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning FailedScheduling 46s (x5 over 3m7s) default-scheduler 0/3 nodes are available: 3 Insufficient cpu.
text
Troubleshoot Adapter Provisioning Issues
When you provision the adapter, you might encounter issues such as insufficient resources or an image that cannot be accessed. The following section provides possible causes and solutions for your deployment and service issues:
Insufficient Resource Allocation
When you attempt to provision the adapter, your adapter pod will not be able to start.
Cause
If your adapter pod does not have sufficient CPU space allocated, your adapter fails.
Diagnose
To diagnose the issue:
-
Check the adapter status:
$ asmctl adapter list
The status is displayed in a few minutes.
-
If the adapter displays a
Failed
status, run the following command:$ kubectl -n service-mesh get pods
-
Check the status of the adapter pod:
$ kubectl -n service-mesh get pods | grep grpcmule
If the status is Pending, describe the pod:
$ kubectl -n service-mesh describe pods -l namespace=namespace
-
If you do not see the
grpcmule-namespace
pod, run the same command immediately after creating the adapter, while it is being provisioned but before it has failed:$ kubectl -n service-mesh describe pods -l namespace=namespace
-
Perform one of the following actions:
-
In the Events section, verify that you have an “Insufficient CPU” or other resource listing:
-
-
Describe the nodes to check the resource allocation:
$ kubectl describe nodes
The allocated resources are displayed:

Solution
To resolve this issue:
-
Delete the existing adapter.
-
Assign additional resources to your Kubernetes Cluster, as required.
-
Provision your adapter again.
Image Cannot Be Pulled
After provisioning the adapter, it fails to start with the following error:
Cause
This issue can occur due to either invalid credentials specified in the adapter or issues with the registry-credentials-rotator
pod.
Diagnosis
To diagnose the issue, verify the status of the affected pods:
$ kubectl -n service-mesh get pods
Your pod might appear in either a ErrImagePull
or a ImagePullBackOff
state.
Solution
To resolve this issue:
-
Ensure that the registry-credentials-rotator pod is running:
$ kubectl -n service-mesh get pod -l app=service-mesh-registry-credentials-rotator
-
Review the logs of the pod to ensure that no client ID and client secret, entitlement, or permissions issues occurred:
$ kubectl -n service-mesh logs $(kubectl -n service-mesh get pod -l app=service-mesh-registry-credentials-rotator -oname)
-
Verify that the pull secret was created:
$ kubectl -n service-mesh get secret service-mesh-pull-secret
-
Verify that the correct platform URL and credentials are provided:
$ kubectl -n service-mesh get secret service-mesh-registry-credentials-rotator-env -ogo-template='CLIENT_ID:{{.data.CLIENT_ID|base64decode}} CLIENT_SECRET:{{.data.CLIENT_SECRET|base64decode}}'
$ kubectl -n service-mesh get cm service-mesh-registry-credentials-rotator-env -ogo-template='PLATFORM_URI:{{.data.PLATFORM_URI}}'
Mule Runtime Engine Fails to Start Due to License Issues
When you attempt to list your adapters, you might receive a Failed
status.
Cause
If you did not provide a valid Mule runtime engine (Mule) license, with the required entitlements, your Mule adapter does not start.
Diagnosis
To diagnose the issue:
-
Verify the adapter status:
$ asmctl adapter list
-
If the adapter status is
Failed
, verify the status of the (grpcmule-<namespace>) adapter pod:$ kubectl -n service-mesh get pods
In this case, your pod status might be displayed asCrashLoopBackOff
.
Solution
To resolve this issue, update the adapter with a valid license:
$ asmctl management config license --license=/path/to/license.lic
Catalog Content Initialization Failed
When you attempt to provision an adapter, it might fail because the catalog content did not correctly initialize.
Cause
The Anypoint Service Mesh Catalog component is required to provision adapters, create bindings, and create APIs. If the catalog is not initialized correctly, the adapter fails.
Diagnosis
To diagnose the issue:
-
Review the adapter logs:
$ asmctl adapter logs --namespace=adapter_namespace --name=adapter_name
Output similar to the following is displayed:
2019-11-26T20:46:35Z Error provisioning ServiceInstance of ClusterServiceClass (K8S: "4f6e6cf6-ffdd-425f-a2c7-3c9258ad246a" ExternalName: "anypoint-service-mesh-adapter") at ClusterServiceBroker "service-mesh-incluster-broker": Status: 500; ErrorMessage: <nil>; Description: Catalog content init failed; ResponseError: <nil>
Solution
To resolve this issue, run the following command to force catalog initialization:
$ kubectl -n service-mesh patch clusterservicebrokers/service-mesh-incluster-broker --type=json -p='[{"op": "replace", "path": "/spec/relistRequests","value":1}]'
Adapter Failed to Delete
When you attempt to delete an adapter that you previously created, you might encounter issues.
Cause
If the adapter that you want to delete has service bindings associated with it, you cannot delete that adapter.
Diagnosis
To diagnose the issue, verify adapter status:
$ asmctl adapter list
If there are bindings associated with the adapter or the service instance, the status is displayed as DeprovisionBlockedByExistingCredentials
.
Solution
To resolve this issue, delete all the bindings associated with the adapter. When every binding is successfully deleted, the adapter is also deleted.