# Troubleshooting

Source: https://cumulocity.com/docs/2026/edge/troubleshooting-edge/
Sector: Edge
Release: 2026
Description: Resolve common Edge problems, such as installation or update loops, pending service IPs, pods stuck in a pending state, and Edge missing from the cloud tenant.

## Edge CR status InstallLoopBackOff or UpdateLoopBackOff

After deploying or updating Edge, if the Edge CR status is `InstallationLoopBackOff` or `UpdateLoopBackOff`, as part of the output of `kubectl get edge c8yedge -n c8yedge`:

```shell
NAME         DOMAIN NAME     VERSION     STATUS     
c8yedge      myown.iot.com   2026.0.0    InstallLoopBackOff
```

Describe the Edge CR (cumulocity-iot-edge) with the command `kubectl describe edge c8yedge -n c8yedge`.

In the events section, you will find the reasons for the install or update failure. For example:

```yaml
Name: c8yedge
Namespace: c8yedge
API Version: edge.cumulocity.com/v1
Kind: CumulocityIoTEdge

Status:
  Deploying Generation: x
  State: InstallLoopBackOff

Events:
 Type    Reason               Age    From               Message
 ------  ------               ----   ----               -------
 Normal  Installing           8m34s  cumulocityiotedge  installing Cumulocity Edge version tagged as 2026.0.0
……
……
 Normal  InstallLoopBackOff   1m00s  cumulocityiotedge  waiting for mongo server to be ready
```

MongoDB requires a CPU that supports AVX instructions. Ensure that the CPU type of the Kubernetes node supports AVX instructions. Use the command `lscpu` to check whether the CPU supports AVX instructions. 
Check the logs of the Edge operator, MongoDB and core pods to get more insights.

The Edge operator logs:

```shell
kubectl logs -n c8yedge deployment.apps/c8yedge-operator-controller-manager -c manager
```

MongoDB logs:

```shell
kubectl logs -n c8yedge --all-containers --prefix statefulset.apps/edge-db-rs0
```

Core logs:

```shell
kubectl logs -n c8yedge --all-containers --prefix statefulset.apps/c8ycore-sts
```

## Pending external cumulocity-ontoplb service IP

The external IP is not assigned to the `cumulocity-ontoplb` service.

Output of `kubectl get service cumulocity-ontoplb -n c8yedge`:

```text
NAME                TYPE           CLUSTER-IP          EXTERNAL-IP   PORT(S)                                                        AGE
cumulocity-ontoplb  LoadBalancer   X.X.X.X **REDACTED  <pending>     443:32443/TCP,8443:32442/TCP,1883:32083/TCP,8883:32084/TCP ... 12m           
```
For more information, see [Assigning an external IP](https://cumulocity.com/docs/2026/edge/manage-edge/#external-ip).

## Edge not accessible and pods in pending state

If you installed Edge by using the `c8yedge` tool, the instance is not reachable, and `kubectl get pods -A` shows output similar to the following, the node might be under disk pressure.

```shell
NAME                                                              READY   STATUS                   RESTARTS       AGE     IP           NODE      NOMINATED NODE   READINESS GATES
apama-ctrl-scope-edge-deployment-7f4796c6c5-shnrr                 0/1     Pending                  0              2d21h   <none>       <none>    <none>           <none>
c8ycore-sts-0                                                     0/2     Pending                  0              2d21h   <none>       <none>    <none>           <none>
```

When you describe a pending pod, you see a scheduling error similar to the following:

```shell
kubectl describe pod <pod-name> -n <namespace>

# ...
Warning  FailedScheduling  12m (x832 over 2d21h)  default-scheduler  0/1 nodes are available: 1 node(s) had untolerated taint {node.kubernetes.io/disk-pressure: }. preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.
```

When installed with the c8yedge tool, the Cumulocity Edge runtime uses **K3s** with an embedded kubelet. The kubelet maintains disk availability through Kubernetes **Node-pressure eviction**, using `/var/lib/rancher` as the primary node filesystem path. When free disk space drops below the configured eviction thresholds, the node reports **DiskPressure**.

In this state, the kubelet proactively evicts running pods and blocks scheduling of new pods to preserve node stability. As a result, workloads can appear in `Pending`, `Evicted`, or `ContainerStatusUnknown` states.

To resolve this issue, reclaim sufficient disk space on the affected node. After **DiskPressure** clears, normal scheduling resumes and workloads recover automatically.

To inspect node conditions and capacity, run the following command:

```shell
kubectl describe node <node-name>
```

## Edge not showing up as a device in the cloud tenant

Edge is unable to register itself as a device in your cloud tenant.

Describe the Edge CR `kubectl describe edge c8yedge -n c8yedge`

In the events section, you will find an event with a reason. For example:

```yaml
Name: c8yedge
Namespace: c8yedge
API Version: edge.cumulocity.com/v1
Kind: CumulocityIoTEdge

Status:
  Deployed Generation:  x
  State: Ready

Events:
 Type      Reason                       Age    From               Message
 ----      ------                       ----   ----               -------
 Normal    Installing                   8m34s  cumulocityiotedge  installing Cumulocity Edge version tagged as 2026.0.0
……
……
 Normal    Ready                        1m00s  cumulocityiotedge  Cumulocity Edge installation is complete, and it's now running version 2026.0.0
 Warning   FailedToRegisterCloudDevice  0m30s  cumulocityiotedge  Device failed to connect to <cloud tenant domain>, you might not have uploaded the device certificate to Cumulocity
```
Possible reasons:
* You didn’t add the Certificate Authority (CA) certificate to the trusted certificate list of your tenant.
For completing the registration process, sign into your cloud tenant and follow the steps described in [Managing trusted certificates](https://cumulocity.com/docs/2026/device-certificate-authentication/managing-trusted-certificates/) to add the Certificate Authority (CA) certificate to the trusted certificate list of your tenant. For more details, see [Device certificates](https://cumulocity.com/docs/2026/device-certificate-authentication/device-certificates/).
For more information see [Connecting Edge to the cloud](https://cumulocity.com/docs/2026/edge/connecting-edge-to-cloud/).

* The specified cloud tenant domain is not reachable or incorrect.

## Contacting product support

If you must contact [product support](https://cumulocity.com/docs/2026/additional-resources/contacting-support/), include the output of the diagnostics dump. For more information about accessing diagnostic logs, see [Accessing logs](https://cumulocity.com/docs/2026/edge/edge-operations/#accessing-logs).
