Backport of client: defer nobody
user lookup so Windows doesn't panic into release/1.4.x
#14794
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport
This PR is auto-generated from #14790 to be assessed for backporting due to the inclusion of the label backport/1.4.x.
The below text is copied from the body of the original PR.
In #14742 we introduced a cached lookup of the
nobody
user, which is only ever called on Unixish machines. But the initial caching was being done in aninit
block, which meant it was being run on Windows as well. This prevents the Nomad agent from starting on Windows.An alternative fix here would be to have a separate
init
block for Windows and Unix, but this potentially masks incorrect behavior if we accidentally added a call to theNobody()
method on Windows later. This way we're forced to handle the error in the caller.Before:
After: