---
schema_version: "1"
id: 55b5d1890af22b8181af3a14e226c726ce1e534a2e11ad70146e28f1c93e7d9c
title: Troubleshooting Helm Command Issues
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/gateway/1.12/flex-troubleshoot-helm.md
canonical_url: https://docs.mulesoft.com/gateway/1.12/flex-troubleshoot-helm
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 4816d27ab3ab58b8808eca3c2c431ec861654ae30bfcc10882d6387734a09d25
description: MuleSoft Documentation Site
release: "1.12"
latest: false
---
---
product: Omni Gateway
version: 1.12
---

# Troubleshooting Helm Command Issues

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Troubleshoot errors returned by a `helm` command for Kubernetes and OpenShift clusters:

- [Upgrade Failed: Execution Error](#troubleshoot-helm-yaml-empty)

- [Kubernetes Cluster Unreachable](#troubleshoot-helm-cluster-unreachable)

- [Upgrade Failed: Timed Out](#troubleshoot-helm-upgrade-failed)

- [Failed to Install CRD](#troubleshoot-helm-openshift-rbac)

## Upgrade Failed: Execution Error

If the `registration.yaml` file is invalid when you pass it to the Helm command during deployment of
Flex Gateway, the following error results:

Error: UPGRADE FAILED: execution error at (flex-gateway/templates/deployment.yaml:4:10):
registerSecretName, registration.content or registration.secretName is required!

When this error occurs, make sure that the `registration.yaml` file is not empty. If the file is
empty, reregister your gateway with a new, unique name to generate a new `registration.yaml` and
rerun the procedures that follow the registration step. See
[Register Flex Gateway](https://docs.mulesoft.com/gateway/1.12/flex-gateway-k8-getting-started#register-flex) for an example of the
registration command.

## Upgrade Failed: Timed Out

Some issues can cause the Helm upgrade command to hang for up to 5 minutes (due to the `--wait` flag
in the command) before producing the following timeout error:

Error: UPGRADE FAILED: timed out waiting for the condition

This error typically means that your cluster configuration is incorrect or that your cluster
configuration tool does not support this process. One potential cause is the failure to generate a
`Service` resource of the `LoadBalancer` type. You can troubleshoot further by running the following
commands:

- ```kubectl
  kubectl -n gateway describe deployment
  ```

- ```kubectl
  kubectl -n gateway describe service
  ```

## Kubernetes Cluster Unreachable

If your Kubernetes cluster is not running when you attempt to deploy Flex Gateway using `helm`, the
following error might occur:

Error: Kubernetes cluster unreachable: the server could not find the requested resource

Start the service that runs your cluster.

Check that your Kubernetes cluster host is running your cluster, for example:

```kubectl
kubectl cluster-info
```

- If the cluster is running, the command returns a result similar to this one:

  Kubernetes control plane is running at https://34.30.50.119 GLBCDefaultBackend is running at
  https://34.30.50.119/api/v1/namespaces/kube-system/services/default-http-backend:http/proxy
  KubeDNS is running at
  https://34.30.50.119/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy Metrics-server is
  running at https://34.30.50.119/api/v1/namespaces/kube-system/services/https:metrics-server:/proxy

- If the cluster is not up, the command can return a result similar to this one:

  To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. error: the server
  doesn't have a resource type "services"

## Failed to Install CRD

When deploying Flex Gateway to a Kubernetes cluster that enables role-based access control (RBAC),
you must have cluster-level permissions to permit installation of custom resource definitions (CRDs)
used by Flex Gateway. In OpenShift, the `cluster-admin` role provides this level of access.

Without the required access, you receive an error similar to the following one:

Error: failed to install CRD crds/apiinstance.yaml: customresourcedefinitions.apiextensions.k8s.io
is forbidden: User "user1" cannot create resource "customresourcedefinitions" in API group
"apiextensions.k8s.io" at the cluster scope

## See Also

- [Getting Started with Self-Managed Flex Gateway in a Kubernetes Cluster](https://docs.mulesoft.com/gateway/1.12/flex-gateway-k8-getting-started)

- [Setting Up Self-Managed Flex Gateway](https://docs.mulesoft.com/gateway/1.12/flex-gateway-set-up)

- [Known Issues](https://help.salesforce.com/s/issues)
