Allow passing options to the Puppet provisioner
This allows for instance to pass the --modulepath options like this: config.vm.puppet.options = ["--modulepath","modules"] Which would call puppet with "--modulepath modules". Signed-off-by: Brice Figureau <brice@daysofwonder.com>
This commit is contained in:
parent
d0add468ac
commit
6b46949550
|
@ -11,11 +11,13 @@ module Vagrant
|
|||
attr_accessor :manifest_file
|
||||
attr_accessor :manifests_path
|
||||
attr_accessor :pp_path
|
||||
attr_accessor :options
|
||||
|
||||
def initialize
|
||||
@manifest_file = ""
|
||||
@manifests_path = "manifests"
|
||||
@pp_path = "/tmp/vagrant-puppet"
|
||||
@options = []
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -66,7 +68,7 @@ module Vagrant
|
|||
end
|
||||
|
||||
def run_puppet_client
|
||||
command = "cd #{env.config.puppet.pp_path} && sudo -E puppet #{@manifest}"
|
||||
command = "cd #{env.config.puppet.pp_path} && sudo -E puppet #{env.config.puppet.options.join(" ")} #{@manifest}"
|
||||
|
||||
env.ui.info I18n.t("vagrant.provisioners.puppet.running_puppet")
|
||||
|
||||
|
|
|
@ -110,7 +110,13 @@ class PuppetProvisionerTest < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
should "cd into the pp_path directory and run puppet" do
|
||||
@ssh.expects(:exec!).with("cd #{@env.config.puppet.pp_path} && sudo -E puppet #{@manifest}").once
|
||||
@ssh.expects(:exec!).with("cd #{@env.config.puppet.pp_path} && sudo -E puppet #{@manifest}").once
|
||||
@action.run_puppet_client
|
||||
end
|
||||
|
||||
should "cd into the pp_path directory and run puppet with given options" do
|
||||
@env.config.puppet.options = ["--modulepath", "modules", "--verbose"]
|
||||
@ssh.expects(:exec!).with("cd #{@env.config.puppet.pp_path} && sudo -E puppet --modulepath modules --verbose #{@manifest}").once
|
||||
@action.run_puppet_client
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue