class Dopi::Command::Winrm::WaitForLogin

Constants

DEFAULT_INTERVAL

Public Instance Methods

interval() click to toggle source
# File lib/dopi/command/winrm/wait_for_login.rb, line 35
def interval
  @interval ||= interval_valid? ?
    hash[:interval] : DEFAULT_INTERVAL
end
interval_valid?() click to toggle source
# File lib/dopi/command/winrm/wait_for_login.rb, line 40
def interval_valid?
  return false if hash[:interval].nil? # is optional
  hash[:interval].class == Fixnum or
    raise CommandParsingError, "Plugin #{name}: the value of 'interval' has to be a number"
end
run() click to toggle source
# File lib/dopi/command/winrm/wait_for_login.rb, line 20
def run
  connected = false
  until connected
    begin connected = check_exit_code(winrm_command('exit')[2])
    rescue Dopi::NodeConnectionError, Dopi::CommandConnectionError
    end
    unless connected
      sleep interval
      raise GracefulExit if signals[:stop]
      log(:info, "Retrying connect to node")
    end
  end
  true
end
validate() click to toggle source
# File lib/dopi/command/winrm/wait_for_login.rb, line 14
def validate
  validate_winrm
  validate_exit_code
  log_validation_method(:interval_valid?, CommandParsingError)
end