Class: Kitchen::Provisioner::Finder::Ssh

Inherits:
Object
  • Object
show all
Defined in:
lib/kitchen/provisioner/finder/ssh.rb

Overview

SSH implementation for returning active non-localhost IPs

Constant Summary collapse

IP4REGEX =
/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/

Instance Method Summary collapse

Constructor Details

#initialize(connection) ⇒ Ssh

Returns a new instance of Ssh.



58
59
60
# File 'lib/kitchen/provisioner/finder/ssh.rb', line 58

def initialize(connection)
  @connection = connection
end

Instance Method Details

#find_fqdnObject



76
77
78
# File 'lib/kitchen/provisioner/finder/ssh.rb', line 76

def find_fqdn
  @connection.node_execute('hostname -f').chomp.chomp
end

#find_ipsObject



62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/kitchen/provisioner/finder/ssh.rb', line 62

def find_ips
  ips = []
  (0..5).each do
    begin
      ips = run_ifconfig
    rescue Kitchen::Transport::TransportFailed
      ips = run_ip_addr
    end
    return ips unless ips.empty?
    sleep 0.5
  end
  ips
end