Troubleshooting "INSTALLATION FAILED: timed out waiting for the condition" Error with Helm Install on Mac

Original Slack Thread

<@U06TM7M40RK> How to resolve below error while running “helm install datahub datahub/datahub”
command from terminal on Mac.
Error: INSTALLATION FAILED: failed pre-install: 1 error occurred:
* timed out waiting for the condition

The error message “INSTALLATION FAILED: failed pre-install: 1 error occurred: * timed out waiting for the condition” typically indicates that the Helm installation process is taking longer than the default timeout period to complete. This can happen due to various reasons such as insufficient resources, network issues, or the need for more time to complete the setup tasks.

Here are a few steps you can take to resolve this issue:

  1. Increase the Timeout: The default timeout for Helm is 5 minutes. You can increase the timeout to give the installation process more time to complete. According to the <https://forum.datahubproject.io/t/troubleshooting-error-upgrade-failed-pre-upgrade-hooks-failed-timed-out-waiting-for-the-condition-during-datahub-on-perm-kubernetes-deployment/883|DataHub forum>, you can increase the timeout by using the --timeout flag. For example, you can set the timeout to 10 minutes:

    helm install datahub datahub/datahub --timeout 10m0s
    
  2. Check Resource Allocation: Ensure that your Kubernetes cluster has enough resources (CPU and memory) allocated. According to a <Slack discussion>, running DataHub on Minikube with at least 4 CPUs and 8GB of RAM is recommended. If you are using Docker Desktop for Kubernetes, you can adjust the resource allocation in the Docker Desktop settings.

  3. Inspect Pod Logs: Check the logs of the pods to identify any specific issues that might be causing the timeout. You can use the following command to get the logs of a specific pod:

    kubectl logs -f <pod-name>
    
  4. Disable No-Code Migration Job: If the no-code migration job is causing the issue, you can disable it as a workaround. According to a <Slack discussion>, you can disable the no-code migration job by modifying the values.yaml file. Set the enabled field under nocodeMigration to false.

    nocodeMigration:
      enabled: false
    

Would you like more detailed steps on any of these solutions?

Sources:

Hey there! :wave: Make sure your message includes the following information if relevant, so we can help more effectively!

  1. Are you using UI or CLI for ingestion?
  2. Which DataHub version are you using? (e.g. 0.12.0)
  3. What data source(s) are you integrating with DataHub? (e.g. BigQuery)

<@U06TM7M40RK> Can you help with the questions in this thread?


:information_source: We’re experimenting with a new AI assistant for questions in the <#CUMUWQU66> channel to help you track down helpful resources more quickly. Keep in mind that responses may not always be spot-on; feel free to ask it follow-up questions and don’t forget to provide its responses a :thumbsup: or :thumbsdown: so other folks in the Community know if you’re still looking for help on the topic!

To resolve the error “INSTALLATION FAILED: failed pre-install: timed out waiting for the condition” while running helm install datahub datahub/datahub on your Mac, you can try the following steps:

  1. Increase the Timeout: The default timeout for Helm operations is 5 minutes, which might not be sufficient for your setup. You can increase the timeout to give the installation more time to complete. For example, you can set the timeout to 10 minutes using the --timeout flag:

    helm install datahub datahub/datahub --timeout 10m0s
    

    According to a <Slack thread>, increasing the timeout resolved a similar issue.

  2. Check Resource Allocation: Ensure that your Kubernetes cluster has enough resources (CPU and memory) allocated. As per <Slack Slack thread>, insufficient resources can cause the installation to hang. You can try increasing the resources allocated to your local Kubernetes cluster.

  3. Verify Network Connectivity: Sometimes network issues can cause timeouts. Ensure that your cluster can reach all required external services. If you are behind a proxy or firewall, make sure that it is not blocking any necessary connections.

  4. Check Pod Logs: If the installation still fails, check the logs of the pods that were created. This can provide more insight into what might be causing the timeout. You can use the following command to get the logs of a specific pod:

    kubectl logs <pod-name>
    

    Replace <pod-name> with the name of the pod you want to check.

  5. Disable Specific Jobs: If a particular job is failing, you can try disabling it temporarily to see if the rest of the installation completes successfully. For example, you can disable the no-code migration job by updating the values.yaml file as suggested in <Slack Slack thread>.

Would you like more details on any of these steps?

Sources:

  • <Slack thread>
  • <Slack thread>
  • <Slack thread> :+1: 0 button :-1: 0 button :bulb: Hint: Mention @runllm in the thread for followups.