From 5600bd1067f1fd8334c6442ff18c78e5eabe5226 Mon Sep 17 00:00:00 2001 From: Shane Gibbs Date: Fri, 14 Feb 2014 21:48:18 +1300 Subject: [PATCH 1/2] Add support for multiple role paths in chef-solo --- plugins/provisioners/chef/provisioner/chef_solo.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/provisioners/chef/provisioner/chef_solo.rb b/plugins/provisioners/chef/provisioner/chef_solo.rb index 5830ab0ff..d639cb9eb 100644 --- a/plugins/provisioners/chef/provisioner/chef_solo.rb +++ b/plugins/provisioners/chef/provisioner/chef_solo.rb @@ -132,7 +132,7 @@ module VagrantPlugins def setup_solo_config cookbooks_path = guest_paths(@cookbook_folders) - roles_path = guest_paths(@role_folders).first + roles_path = guest_paths(@role_folders) data_bags_path = guest_paths(@data_bags_folders).first environments_path = guest_paths(@environments_folders).first setup_config("provisioners/chef_solo/solo", "solo.rb", { From 8e3dbce1371fc6d0a85c03390d8c953ed0bccd49 Mon Sep 17 00:00:00 2001 From: Shane Gibbs Date: Sat, 15 Feb 2014 11:09:06 +1300 Subject: [PATCH 2/2] Add backwards compatibility for older versions of chef that do not support multiple role paths. --- templates/provisioners/chef_solo/solo.erb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/templates/provisioners/chef_solo/solo.erb b/templates/provisioners/chef_solo/solo.erb index 95c8a30f4..969901658 100644 --- a/templates/provisioners/chef_solo/solo.erb +++ b/templates/provisioners/chef_solo/solo.erb @@ -1,3 +1,5 @@ +require 'chef/version_constraint' + <% if node_name %> node_name "<%= node_name %>" <% end %> @@ -5,7 +7,11 @@ file_cache_path "<%= file_cache_path %>" file_backup_path "<%= file_backup_path %>" cookbook_path <%= cookbooks_path.inspect %> <% if roles_path %> -role_path <%= roles_path.inspect %> +if Chef::VersionConstraint.new("< 11.8.0").include?(Chef::VERSION) + role_path <%= roles_path.first.inspect %> +else + role_path <%= roles_path.inspect %> +end <% end %> log_level <%= log_level.inspect %> verbose_logging <%= verbose_logging.inspect %>