Merge pull request #3138 from cournape/fix_minion_configuration

This commit is contained in:
Seth Vargo 2015-05-30 11:39:30 -07:00
commit 67c3819d29
2 changed files with 23 additions and 0 deletions

View File

@ -19,6 +19,7 @@ module VagrantPlugins
attr_accessor :bootstrap_script
attr_accessor :verbose
attr_accessor :seed_master
attr_accessor :config_dir
attr_reader :pillar_data
attr_accessor :colorize
attr_accessor :log_level
@ -56,6 +57,7 @@ module VagrantPlugins
@install_syndic = UNSET_VALUE
@no_minion = UNSET_VALUE
@bootstrap_options = UNSET_VALUE
@config_dir = UNSET_VALUE
end
def finalize!
@ -82,6 +84,7 @@ module VagrantPlugins
@install_syndic = nil if @install_syndic == UNSET_VALUE
@no_minion = nil if @no_minion == UNSET_VALUE
@bootstrap_options = nil if @bootstrap_options == UNSET_VALUE
@config_dir = nil if @config_dir == UNSET_VALUE
end
@ -90,6 +93,17 @@ module VagrantPlugins
@pillar_data = Vagrant::Util::DeepMerge.deep_merge(@pillar_data, data)
end
def default_config_dir(machine)
guest_type = machine.config.vm.guest || :linux
# FIXME: there should be a way to do that a bit smarter
if guest_type == :windows
return "C:\\salt"
else
return "/etc/salt"
end
end
def validate(machine)
errors = _detected_errors
if @minion_config
@ -129,6 +143,10 @@ module VagrantPlugins
errors << I18n.t("vagrant.provisioners.salt.must_accept_keys")
end
if @config_dir.nil?
@config_dir = default_config_dir(machine)
end
return {"salt provisioner" => errors}
end

View File

@ -305,6 +305,11 @@ module VagrantPlugins
end
def call_highstate
if @config.minion_config
@machine.env.ui.info "Copying salt minion config to #{@config.config dir}"
@machine.communicate.upload(expanded_path(@config.minion_config).to_s, @config.config_dir + "/minion")
end
if @config.run_highstate
@machine.env.ui.info "Calling state.highstate... (this may take a while)"
if @config.install_master