Fix shell provisioner to run with new machine abstraction
This commit is contained in:
parent
a238e06795
commit
ed1bc58735
|
@ -76,18 +76,20 @@ module VagrantPlugins
|
||||||
command = "chmod +x #{config.upload_path} && #{config.upload_path}#{args}"
|
command = "chmod +x #{config.upload_path} && #{config.upload_path}#{args}"
|
||||||
|
|
||||||
with_script_file do |path|
|
with_script_file do |path|
|
||||||
# Upload the script to the VM
|
# Upload the script to the machine
|
||||||
env[:vm].channel.upload(path.to_s, config.upload_path)
|
env[:machine].communicate.tap do |comm|
|
||||||
|
comm.upload(path.to_s, config.upload_path)
|
||||||
|
|
||||||
# Execute it with sudo
|
# Execute it with sudo
|
||||||
env[:vm].channel.sudo(command) do |type, data|
|
comm.sudo(command) do |type, data|
|
||||||
if [:stderr, :stdout].include?(type)
|
if [:stderr, :stdout].include?(type)
|
||||||
# Output the data with the proper color based on the stream.
|
# Output the data with the proper color based on the stream.
|
||||||
color = type == :stdout ? :green : :red
|
color = type == :stdout ? :green : :red
|
||||||
|
|
||||||
# Note: Be sure to chomp the data to avoid the newlines that the
|
# Note: Be sure to chomp the data to avoid the newlines that the
|
||||||
# Chef outputs.
|
# Chef outputs.
|
||||||
env[:ui].info(data.chomp, :color => color, :prefix => false)
|
env[:ui].info(data.chomp, :color => color, :prefix => false)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue