Fix shell provisioner to run with new machine abstraction

This commit is contained in:
Mitchell Hashimoto 2012-08-21 16:57:59 -07:00
parent a238e06795
commit ed1bc58735
1 changed files with 12 additions and 10 deletions

View File

@ -76,11 +76,12 @@ module VagrantPlugins
command = "chmod +x #{config.upload_path} && #{config.upload_path}#{args}"
with_script_file do |path|
# Upload the script to the VM
env[:vm].channel.upload(path.to_s, config.upload_path)
# Upload the script to the machine
env[:machine].communicate.tap do |comm|
comm.upload(path.to_s, config.upload_path)
# Execute it with sudo
env[:vm].channel.sudo(command) do |type, data|
comm.sudo(command) do |type, data|
if [:stderr, :stdout].include?(type)
# Output the data with the proper color based on the stream.
color = type == :stdout ? :green : :red
@ -94,4 +95,5 @@ module VagrantPlugins
end
end
end
end
end