Skip to content
This repository has been archived by the owner on Jan 30, 2024. It is now read-only.

Specify an explicit $HOME for nagios scripts that use bundler #5583

Merged

Conversation

h-lame
Copy link
Contributor

@h-lame h-lame commented Mar 7, 2017

In bundler 1.14.0 a feature was added to fallback to a /tmp dir if the user's
home dir is not writable (see: rubygems/bundler#4951).
As part of this feature bundler outputs a warning that it is doing this. When
our check_uricorn_workers script is run by the nagios user it runs a ruby script
via bundler using an empty environment which means it has no $HOME env var set.
This triggers the warning, which unfortunately goes to stdout and interferes
with our script which expects the output to be a number and treats anything else
as an error state.

If we specify a HOME var when running the ruby script we avoid the problem. We
follow the example for setting GOVUK_APP_LOGROOT to /tmp and do the same as this
will be globally writable, and hopefully we don't actually have to write
anything to run the short ruby script.

In bundler 1.14.0 a feature was added to fallback to a /tmp dir if the user's
home dir is not writable (see: rubygems/bundler#4951).
As part of this feature bundler outputs a warning that it is doing this.  When
our check_uricorn_workers script is run by the nagios user it runs a ruby script
via bundler using an empty environment which means it has no $HOME env var set.
This triggers the warning, which unfortunately goes to stdout and interferes
with our script which expects the output to be a number and treats anything else
as an error state.

If we specify a HOME var when running the ruby script we avoid the problem.  We
follow the example for setting GOVUK_APP_LOGROOT to /tmp and do the same as this
will be globally writable, and hopefully we don't actually have to write
anything to run the short ruby script.
Copy link
Contributor

@surminus surminus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch

@h-lame
Copy link
Contributor Author

h-lame commented Mar 7, 2017

Deployed branch to integration and forced a puppet run on backend-1.backend. The "unknown" alerts for "expected number of unicorn workers" started to come down as the checks were run. Cleared all in 5mins or so. Chalking this up to a win.

@h-lame h-lame merged commit a2698aa into master Mar 7, 2017
@h-lame h-lame deleted the cope-with-bundler-output-on-stdout-in-check_unicorn_workers branch March 7, 2017 14:36
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants