Install timeout error

How to debug the cause of an installation timeout.

When you attempt an installation of Operations Management and receive a timeout error, use the following procedure to help you to debug the cause of the error.

helm install . -f ~/values.yaml --tls --name my-noi-release 
Error: timed out waiting for the condition
  1. Find the tiller pod name, and search for entries about the failed install in the tiller pod's logs, as in the following example where the failed deployment is called my-noi-release.
    kubectl get pod -n kube-system | grep tiller
    tiller-deploy-5d8494fb8-ggrzl                                    1/1       Running     1          91d
    kubectl logs tiller-deploy-5d8494fb8-ggrzl -n kube-system | grep my-noi-release  
    
    [tiller] 2019/06/06 09:14:43 warning: Release my-noi-release pre-install ibm-netcool-prod/templates/preinstallhook.yaml could not complete: timed out waiting for the condition
    [tiller] 2019/06/06 09:14:43 deleting pre-install hook my-noi-release-verifysecrets for release my-noi-release due to "hook-failed" policy
    The pre-install hook job my-noi-release-verifysecrets failed, and was deleted.
  2. Attempt the installation again, as in the following example:
    helm install . -f ~/values.yaml --tls  --name my-noi-release
    While this command is running, use another shell to monitor the my-noi-release-verifysecrets job for problems:
    
    kubectl describe job my-noi-release-verifysecrets
    Warning  FailedCreate  8s (x2 over 19s)  job-controller  Error creating: pods "my-noi-release-verifysecrets-" is forbidden: error looking up service account testnew/noi-service-account: serviceaccount "noi-service-account" not found
    
    The warning message shows that the expected service account, noi-service-account, was not found.
  3. To see where this service account is created, search the charts in the Operations Management deployment directory for ServiceAccount, as in the following example:
     find . -type f | xargs grep "^kind: ServiceAccount"
    ./templates/serviceaccount.yaml:kind: ServiceAccount
    and then view that file:
    view ./templates/serviceaccount.yaml 
    {{ if .Values.global.rbac.create }}
    {{- if (not (eq .Values.global.rbac.serviceAccountName "default" )) }}
    {{- include "sch.config.init" (list . "sch.chart.config.values") -}}
    From this chart, it can be seen that the service account is created in ./templates/serviceaccount.yaml only if Values.global.rbac.create is true. To get the installation to complete successfully, the service account must either be manually created before installation, or Create required RBAC RoleBindings (global.rbac.create in the ibm.netcool values.yaml file) must be set to true.