summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLamont Granquist <lamont@chef.io>2019-05-21 15:27:03 -0700
committerGitHub <noreply@github.com>2019-05-21 15:27:03 -0700
commitfdfd701d0b3c5e9fbc7aca0be14802a1bf0d2f23 (patch)
tree81333c867d2f33f6eafe2edad4d74ba940c2e6ba /lib
parent248344cfe776b66a8da563c985e34d9c99967791 (diff)
parentf3a5ce3a5958c5d85697a9929480e6edc7260bd3 (diff)
downloadchef-fdfd701d0b3c5e9fbc7aca0be14802a1bf0d2f23.tar.gz
Merge pull request #8571 from chef/lcg/better-target-mode-creds-errors
Better target mode no-creds errors
Diffstat (limited to 'lib')
-rw-r--r--lib/chef/train_transport.rb24
1 files changed, 10 insertions, 14 deletions
diff --git a/lib/chef/train_transport.rb b/lib/chef/train_transport.rb
index 9db5f8fbf3..95b5018960 100644
--- a/lib/chef/train_transport.rb
+++ b/lib/chef/train_transport.rb
@@ -20,12 +20,12 @@ require "train"
class Chef
class TrainTransport
+ extend ChefConfig::Mixin::Credentials
+
#
# Returns a RFC099 credentials profile as a hash
#
def self.load_credentials(profile)
- extend ChefConfig::Mixin::Credentials
-
# Tomlrb.load_file returns a hash with keys as strings
credentials = parse_credentials_file
if contains_split_fqdn?(credentials, profile)
@@ -74,22 +74,18 @@ class Chef
profile = tm_config.host
credentials_file =
- if tm_config.credentials_file
- if File.exists?(tm_config.credentials_file)
- tm_config.credentials_file
- else
- raise ArgumentError, "Credentials file specified for target mode does not exist: '#{tm_config.credentials_file}'"
- end
- elsif File.exists?(Chef::Config.platform_specific_path("/etc/chef/#{profile}/credentials"))
+ if tm_config.credentials_file && File.exist?(tm_config.credentials_file)
+ tm_config.credentials_file
+ elsif File.exist?(Chef::Config.platform_specific_path("/etc/chef/#{profile}/credentials"))
Chef::Config.platform_specific_path("/etc/chef/#{profile}/credentials")
else
super
end
- if credentials_file
- Chef::Log.debug("Loading credentials file '#{credentials_file}' for target '#{profile}'")
- else
- Chef::Log.debug("No credentials file found for target '#{profile}'")
- end
+
+ raise ArgumentError, "No credentials file found for target '#{profile}'" unless credentials_file
+ raise ArgumentError, "Credentials file specified for target mode does not exist: '#{credentials_file}'" unless File.exist?(credentials_file)
+
+ Chef::Log.debug("Loading credentials file '#{credentials_file}' for target '#{profile}'")
credentials_file
end