Why is the transport endpoint not connected?
Troubleshoot Cloud Object Storage transport layer and endpoint issues.
Virtual Private Cloud Classic infrastructure
The following steps apply to the IBM Cloud Object Storage plug-in only.
When you create a PVC, you see an error message similar to the following:
Transport endpoint is not connected.
To find the cause of the issue, gather system logs by deploying an inspectnode pod.
Follow the steps to gather logging information.
-
Create a
debug-pvc.yamlfile and specify theibm.io/debug-level: "info"andibm.io/curl-debug: "true"annotations.apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: ibm.io/auto-create-bucket: "false" ibm.io/auto-delete-bucket: "false" ibm.io/bucket: <bucket-name> # Enter the name of your bucket. ibm.io/secret-name: <cos-secret-name> # Enter the name of your Kubernetes secret that contains your COS credentails ibm.io/debug-level: "info" ibm.io/curl-debug: "true" name: debug-pvc namespace: default spec: storageClassName: ibmc-s3fs-standard-perf-regional accessModes: - ReadWriteOnce resources: requests: storage: 10Gi -
Create the
debug-pvcPVC in your cluster.oc create -f debug-pvc.yaml -
Redeploy your app and reference the
debug-pvc. Alternatively, you can use the following sample pod.apiVersion: v1 kind: Pod metadata: name: debug-pod spec: volumes: - name: nginx persistentVolumeClaim: claimName: cos-debug containers: - name: nginx image: nginx volumeMounts: - mountPath: /debug name: nginx -
Save the following DaemonSet configuration file as
inspectnode-ds.yaml. After you deploy an app that references the PVC that you created earlier, deploy the DaemonSet when theTransport endpoint is not connectederror occurs to gather the logs.apiVersion: apps/v1 kind: DaemonSet metadata: namespace: default name: ibm-inspectnode labels: app: ibm-inspectnode spec: selector: matchLabels: app: ibm-inspectnode updateStrategy: type: RollingUpdate template: metadata: labels: app: ibm-inspectnode spec: tolerations: - operator: "Exists" hostNetwork: true containers: - name: inspectnode image: alpine:latest command: ["/bin/sh"] args: ["-c", "while true; do msg=$(date); echo $msg; sleep 30; done"] securityContext: runAsUser: 0 volumeMounts: - mountPath: /host/var/log name: host-log volumes: - name: host-log hostPath: path: /var/log -
Create the DaemonSet in your cluster when the
Transport endpoint is not connectederror occurs.oc create -f ./inspectnode-ds.yaml -
Get the name of the
inspectnodepod.oc get pods -n default -l app=ibm-inspectnode -o wide -
Copy the logs from
inspectnodepod to your local machine. In the copy command, give your directory a name so that you can identify which node the logs are from. For example,node-one.log. You might also use the node IP in the directory name, for example:10.XXX.XX.XXX.log.oc cp <inspectnode_pod_name>:/host/var/log ./<node_name>.log -
Review the
syslogands3fslogfiles for information about theTransport endpointerror. Open a support ticket and share the log files that you gathered. -
Delete the
ibm-inspectnodeDaemonSet that you deployed.oc delete daemonset ibm-inspectnode -
If the issue persists, contact support. Open a support case. In the case details, be sure to include any relevant log files, error messages, or command outputs.