added data_bags_path to ChefSolo Provisioners; updated templates to accomodate.

This commit is contained in:
Ryan C. Creasey 2011-05-12 08:07:55 -07:00
parent d0000e9f49
commit 41404d9685
2 changed files with 26 additions and 0 deletions

View File

@ -7,6 +7,7 @@ module Vagrant
class Config < Chef::Config class Config < Chef::Config
attr_accessor :cookbooks_path attr_accessor :cookbooks_path
attr_accessor :roles_path attr_accessor :roles_path
attr_accessor :data_bags_path
attr_accessor :recipe_url attr_accessor :recipe_url
def initialize def initialize
@ -14,6 +15,7 @@ module Vagrant
@cookbooks_path = ["cookbooks", [:vm, "cookbooks"]] @cookbooks_path = ["cookbooks", [:vm, "cookbooks"]]
@roles_path = [] @roles_path = []
@data_bags_path = []
end end
def validate(errors) def validate(errors)
@ -27,6 +29,7 @@ module Vagrant
def prepare def prepare
share_cookbook_folders share_cookbook_folders
share_role_folders share_role_folders
share_data_bags_folders
end end
def provision! def provision!
@ -49,6 +52,12 @@ module Vagrant
end end
end end
def share_data_bags_folders
host_data_bag_paths.each_with_index do |data_bag, i|
env.config.vm.share_folder("v-csdb-#{i}", data_bag_path(i), data_bag)
end
end
def setup_solo_config def setup_solo_config
setup_config("chef_solo_solo", "solo.rb", { setup_config("chef_solo_solo", "solo.rb", {
:node_name => config.node_name, :node_name => config.node_name,
@ -56,6 +65,7 @@ module Vagrant
:cookbooks_path => cookbooks_path, :cookbooks_path => cookbooks_path,
:recipe_url => config.recipe_url, :recipe_url => config.recipe_url,
:roles_path => roles_path, :roles_path => roles_path,
:data_bags_path => data_bags_path,
}) })
end end
@ -122,6 +132,10 @@ module Vagrant
host_folder_paths(config.roles_path) host_folder_paths(config.roles_path)
end end
def host_data_bag_paths
host_folder_paths(config.data_bags_path)
end
def cookbook_path(i) def cookbook_path(i)
folder_path("cookbooks", i) folder_path("cookbooks", i)
end end
@ -130,6 +144,10 @@ module Vagrant
folder_path("roles", i) folder_path("roles", i)
end end
def data_bag_path(i)
folder_path("data_bags", i)
end
def cookbooks_path def cookbooks_path
folders_path(config.cookbooks_path, "cookbooks").to_json folders_path(config.cookbooks_path, "cookbooks").to_json
end end
@ -137,6 +155,10 @@ module Vagrant
def roles_path def roles_path
folders_path(config.roles_path, "roles").to_json folders_path(config.roles_path, "roles").to_json
end end
def data_bags_path
folders_path(config.data_bags_path, "data_bags").to_json
end
end end
end end
end end

View File

@ -6,6 +6,10 @@ cookbook_path <%= cookbooks_path %>
role_path <%= roles_path %> role_path <%= roles_path %>
log_level <%= log_level.inspect %> log_level <%= log_level.inspect %>
<% if data_bags_path %>
data_bag_path <%= data_bags_path %>
<% end %>
<% if recipe_url -%> <% if recipe_url -%>
recipe_url "<%= recipe_url %>" recipe_url "<%= recipe_url %>"
<% end -%> <% end -%>