summaryrefslogtreecommitdiff
path: root/lib/chef/run_list
diff options
context:
space:
mode:
authorThom May <thom@chef.io>2015-09-29 14:46:28 -0700
committerThom May <thom@chef.io>2015-09-29 15:13:09 -0700
commit53380ccb30465f003ddc2fb3461007c135110577 (patch)
treef435d2da42949bcbfbaf2c586faf76b22e0f4166 /lib/chef/run_list
parentbc82c3e8603f6908d80fc29beb1d0902563398e7 (diff)
downloadchef-tm/duplicate_recipes.tar.gz
Ensure that our list of recipes is backwards compattm/duplicate_recipes
Prior to chef 12.2 we included unexpanded 'cookbook' names for default recipes. In 12.2, we moved to expanded ('cookbook::default') names, which broke some searches. However, some of our users have now moved to searching for expanded, so we need to cater for both. Fixes #3767
Diffstat (limited to 'lib/chef/run_list')
-rw-r--r--lib/chef/run_list/versioned_recipe_list.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/chef/run_list/versioned_recipe_list.rb b/lib/chef/run_list/versioned_recipe_list.rb
index 2824f08f31..803156aef9 100644
--- a/lib/chef/run_list/versioned_recipe_list.rb
+++ b/lib/chef/run_list/versioned_recipe_list.rb
@@ -82,6 +82,21 @@ class Chef
qualified_recipe
end
end
+
+ # Get an array of strings of both fully-qualified and unexpanded recipe names
+ # in response to chef/chef#3767
+ # Chef-13 will revert to the behaviour of just including the fully-qualified name
+ #
+ # @return [Array] Array of strings with fully-qualified and unexpanded recipe names
+ def with_duplicate_names
+ self.map do |recipe_name|
+ if recipe_name.include?('::')
+ recipe_name
+ else
+ [recipe_name, "#{recipe_name}::default"]
+ end
+ end.flatten
+ end
end
end
end