summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2018-07-13 10:35:46 -0700
committerGitHub <noreply@github.com>2018-07-13 10:35:46 -0700
commit3733739bc65b1fd5cda0011e7c4c588808e4a917 (patch)
tree9e59bde7fc997bc733dbc0686180325847d7910b
parente57c184039c5735f499712838607ce3cf8c76f7d (diff)
parent92204511b3cf1aefb7d8c9cb176366d78de4f191 (diff)
downloadchef-3733739bc65b1fd5cda0011e7c4c588808e4a917.tar.gz
Merge pull request #7458 from chef/better_rehash_error
Provide a better error when knife plugins are missing from the cache
-rw-r--r--lib/chef/knife/core/hashed_command_loader.rb2
-rw-r--r--spec/unit/knife/core/hashed_command_loader_spec.rb2
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/chef/knife/core/hashed_command_loader.rb b/lib/chef/knife/core/hashed_command_loader.rb
index cbe4d558c1..dff4ae50ab 100644
--- a/lib/chef/knife/core/hashed_command_loader.rb
+++ b/lib/chef/knife/core/hashed_command_loader.rb
@@ -60,7 +60,7 @@ class Chef
if errors.empty?
commands
else
- Chef::Log.error "There are files specified in the manifest that are missing. Please rehash to update the subcommands cache. If you see this error after rehashing delete the cache at #{Chef::Knife::SubcommandLoader.plugin_manifest_path}"
+ Chef::Log.error "There are plugin files specified in the knife cache that cannot be found. Please run knife rehash to update the subcommands cache. If you see this error after rehashing delete the cache at #{Chef::Knife::SubcommandLoader.plugin_manifest_path}"
Chef::Log.error "Missing files:\n\t#{errors.values.flatten.join("\n\t")}"
{}
end
diff --git a/spec/unit/knife/core/hashed_command_loader_spec.rb b/spec/unit/knife/core/hashed_command_loader_spec.rb
index 53bd81f4f7..e866f13a9c 100644
--- a/spec/unit/knife/core/hashed_command_loader_spec.rb
+++ b/spec/unit/knife/core/hashed_command_loader_spec.rb
@@ -65,7 +65,7 @@ describe Chef::Knife::SubcommandLoader::HashedCommandLoader do
end
it "lists all commands by category when no argument is given" do
- expect(Chef::Log).to receive(:error).with(/There are files specified in the manifest that are missing/)
+ expect(Chef::Log).to receive(:error).with(/There are plugin files specified in the knife cache that cannot be found/)
expect(Chef::Log).to receive(:error).with("Missing files:\n\t/file/for/plugin/b")
expect(loader.list_commands).to eq({})
end