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
- 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" policyThe pre-install hook job my-noi-release-verifysecrets failed, and was deleted. - Attempt the installation again, as in the following
example:
While this command is running, use another shell to monitor the my-noi-release-verifysecrets job for problems:helm install . -f ~/values.yaml --tls --name my-noi-releasekubectl 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 foundThe warning message shows that the expected service account, noi-service-account, was not found. - 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: ServiceAccountand 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.netcoolvalues.yamlfile) must be set to true.