Troubleshooting CredHub
Page last updated:
You can resolve errors that might occur when you deploy, upgrade, or interact with CredHub.
Deployment failures
CredHub deployment failures include:
- Configuration errors
- Pre-start errors
- Post-start errors
For additional information about troubleshooting CredHub deployment failures, see Error list in Troubleshooting Guide in the CredHub repository on GitHub.
Configuration errors
Configuration errors occur before CredHub deploys.
For example:
Using deployment 'credhub' Evaluating manifest: yaml: line 63: could not find expected ':' Exit code 1
Configuration errors start with yaml
and occur before the BOSH task is created. They indicate an
error in parsing your manifest.
To correct a configuration error, review the structure of your manifest at the line specified in the error message to ensure the format and indentation are valid.
Additionally, you might see the following error format:
Task 474 18:20:35 | Preparing deployment: Preparing deployment (00:00:13) 18:20:52 | Error: Unable to render instance groups for deployment. Errors are: - Unable to render jobs for instance group 'credhub'. Errors are: - Unable to render templates for job 'credhub'. Errors are: - Error filling in template 'application.yml.erb' (line 22: Can't find property '["credhub.data_storage.type"]') Started Thu Jan 26 18:20:35 UTC 2019 Finished Thu Jan 26 18:20:52 UTC 2019 Duration 00:00:17 Task 474 error Updating deployment: Expected task '474' to succeed but was state is 'error' Exit code 1
This error occurs when a required field is not defined in the manifest. In the previous example, the following configuration value is missing:
Can't find property '["credhub.data_storage.type"]'
Missing or invalid values might cause another similar error:
Task 697 21:27:55 | Preparing deployment: Preparing deployment (00:00:14) 21:28:13 | Error: Unable to render instance groups for deployment. Errors are: - Unable to render jobs for instance group 'credhub'. Errors are: - Unable to render templates for job 'credhub'. Errors are: - Error filling in template 'pre-start.erb' (line 15: undefined method '[]' for nil:NilClass) Started Thu Jan 26 21:27:55 UTC 2019 Finished Thu Jan 26 21:28:13 UTC 2019 Duration 00:00:18 Task 697 error Updating deployment: Expected task '697' to succeed but was state is 'error' Exit code 1
When you are troubleshooting this error, use the line number and the template specified in the error message to identify the missing or invalid value.
Pre-start errors
Pre-start errors occur when CredHub is unable to perform pre-start tasks. For example:
Task 789 22:34:08 | Preparing deployment: Preparing deployment (00:00:14) 22:34:26 | Preparing package compilation: Finding packages to compile (00:00:02) 22:34:28 | Updating instance dan-credhub: credhub/0261faa8-f5f4-4f6e-8ebe-3cfcba3f7190 (0) (canary) (00:00:18) L Error: Action Failed get_task: Task c69563a2-51e7-4b10-5c64-bb084ef85863 result: 1 of 1 pre-start scripts failed. Failed Jobs: credhub. 22:34:46 | Error: Action Failed get_task: Task c69563a2-51e7-4b10-5c64-bb084ef85863 result: 1 of 1 pre-start scripts failed. Failed Jobs: credhub. Started Thu Jan 26 22:34:08 UTC 2019 Finished Thu Jan 26 22:34:46 UTC 2019 Duration 00:00:38 Task 789 error Updating deployment: Expected task '789' to succeed but was state is 'error' Exit code 1
Accessing logs
CredHub stores pre-start logs in the /var/vcap/sys/log/credhub/pre-start.stderr.log
and pre-start.stdout.log
files.
To access these logs when you are troubleshooting a pre-start error, you must SSH into the CredHub VM or SCP the logs from it.
Post-start errors
Post-start errors occur when a post-start script fails. For example:
Task 478 20:03:32 | Preparing deployment: Preparing deployment (00:00:13) 20:03:49 | Preparing package compilation: Finding packages to compile (00:00:02) 20:03:52 | Updating instance credhub: credhub/0261faa8-f5f4-4f6e-8ebe-3cfcba3f7190 (0) (canary) (00:02:34) L Error: Action Failed get_task: Task 5fe7ac60-4ccc-4bda-4ccb-6e88908597ef result: 1 of 1 post-start scripts failed. Failed Jobs: credhub. 20:06:27 | Error: Action Failed get_task: Task 5fe7ac60-4ccc-4bda-4ccb-6e88908597ef result: 1 of 1 post-start scripts failed. Failed Jobs: credhub. Started Thu Jan 26 20:03:32 UTC 2019 Finished Thu Jan 26 20:06:27 UTC 2019 Duration 00:02:55 Task 478 error Updating deployment: Expected task '478' to succeed but was state is 'error' Exit code 1
Accessing logs
The CredHub log is stored in the /var/vcap/sys/log/credhub/credhub.log
file.
To access these logs when you are troubleshooting a post-start error, you must SSH into the CredHub VM or SCP the logs from it.
The CredHub log is written according to the log_level
variable,
specified in your manifest.
To locate the cause of the failure, search for ERROR
in the logs. Because Monit attempts to restart a failing CredHub process, you might see multiple instances of the same error.
Additionally, you can review other log files in the /var/vcap/sys/log/credhub
directory.
Usability failures
Usability failures occur after a successful deployment of CredHub. If you receive an internal server error without a descriptive error message, review the CredHub log as described in Accessing logs.
For additional information about troubleshooting usability failures, see Error List in Troubleshooting Guide in the CredHub repository on GitHub.
Create a pull request or raise an issue on the source for this page in GitHub