lib/chef_metal/transport/winrm.rb in chef-metal-0.8.1 vs lib/chef_metal/transport/winrm.rb in chef-metal-0.8.2
- old
+ new
@@ -1,7 +1,8 @@
require 'chef_metal/transport'
require 'base64'
+require 'timeout'
module ChefMetal
class Transport
class WinRM < ChefMetal::Transport
def initialize(endpoint, type, options = {})
@@ -13,11 +14,13 @@
attr_reader :endpoint
attr_reader :type
attr_reader :options
def execute(command, execute_options = {})
- output = session.run_powershell_script(command) do |stdout, stderr|
- stream_chunk(execute_options, stdout, stderr)
+ output = with_execute_timeout(execute_options) do
+ session.run_powershell_script(command) do |stdout, stderr|
+ stream_chunk(execute_options, stdout, stderr)
+ end
end
WinRMResult.new(command, execute_options, output)
end
def read_file(path)