Note provisioners that don't work on Windows guests

This commit is contained in:
Mitchell Hashimoto 2014-04-12 14:41:10 -07:00
parent bd51c16700
commit 72030d2180
5 changed files with 30 additions and 0 deletions

View File

@ -504,6 +504,10 @@ module Vagrant
error_key(:provisioner_flag_invalid)
end
class ProvisionerWinRMUnsupported < VagrantError
error_key(:provisioner_winrm_unsupported)
end
class PluginGemNotFound < VagrantError
error_key(:plugin_gem_not_found)
end

View File

@ -5,6 +5,11 @@ module VagrantPlugins
module CFEngine
class Provisioner < Vagrant.plugin("2", :provisioner)
def provision
if @machine.config.vm.communicator == :winrm
raise Vagrant::Errors::ProvisionerWinRMUnsupported,a
name: "cfengine"
end
@logger = Log4r::Logger.new("vagrant::plugins::cfengine")
@logger.info("Checking for CFEngine installation...")

View File

@ -7,6 +7,11 @@ module VagrantPlugins
class PuppetServer < Vagrant.plugin("2", :provisioner)
def provision
if @machine.config.vm.communicator == :winrm
raise Vagrant::Errors::ProvisionerWinRMUnsupported,
name: "puppet_server"
end
verify_binary("puppet")
run_puppet_agent
end

View File

@ -4,6 +4,11 @@ module VagrantPlugins
module Salt
class Provisioner < Vagrant.plugin("2", :provisioner)
def provision
if @machine.config.vm.communicator == :winrm
raise Vagrant::Errors::ProvisionerWinRMUnsupported,
name: "salt"
end
upload_configs
upload_keys
run_bootstrap_script

View File

@ -864,6 +864,17 @@ en:
provisioner_flag_invalid: |-
'%{name}' is not a known provisioner. Please specify a valid
provisioner.
provisioner_winrm_unsupported: |-
The provisioner '%{name}' doesn't support provisioning on
Windows guests via WinRM. This is likely not a limitation
of the provisioner itself but rather that Vagrant doesn't know
how to run this provisioner over WinRM.
If you'd like this provisioner to work over WinRM, please
take a look at the Vagrant source code linked below and try
to contribute back support. Thank you!
https://github.com/mitchellh/vagrant
rsync_error: |-
There was an error when attempting to rsync a synced folder.
Please inspect the error message below for more info.