diff options
author | rlyders <Richard@Lyders.com> | 2018-02-27 03:30:16 -0600 |
---|---|---|
committer | Thom May <thom@may.lt> | 2018-02-27 09:30:16 +0000 |
commit | d8db7cac2d8b07a3b3fcc6e1cc13f83fe569ee6c (patch) | |
tree | 1f7822946e074acd69d6d96c099208a84a8bdcd7 /lib/chef/knife | |
parent | 1e950bdcadfff1be5df59a058cd21e7f0b03f1e8 (diff) | |
download | chef-d8db7cac2d8b07a3b3fcc6e1cc13f83fe569ee6c.tar.gz |
[knife] Don't crash when a deprecated cookbook has no replacement (#6853)
* Don't crash when a deprecated cookbook has no replacement
Diffstat (limited to 'lib/chef/knife')
-rw-r--r-- | lib/chef/knife/cookbook_site_download.rb | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/chef/knife/cookbook_site_download.rb b/lib/chef/knife/cookbook_site_download.rb index 43677cfa78..07e0037bd6 100644 --- a/lib/chef/knife/cookbook_site_download.rb +++ b/lib/chef/knife/cookbook_site_download.rb @@ -47,7 +47,12 @@ class Chef def run if current_cookbook_deprecated? message = "DEPRECATION: This cookbook has been deprecated. " - message << "It has been replaced by #{replacement_cookbook}." + replacement = replacement_cookbook + if !replacement.to_s.strip.empty? + message << "It has been replaced by #{replacement}." + else + message << "No replacement has been defined." + end ui.warn message unless config[:force] @@ -105,7 +110,7 @@ class Chef end def replacement_cookbook - File.basename(current_cookbook_data["replacement"]) + File.basename(current_cookbook_data["replacement"] || "") end def specific_cookbook_version_url |