Skip to content

Commit 2954f3c

Browse files
committed
Refactor wait in server create to check all interfaces (dns/public/private)
1 parent e7f840f commit 2954f3c

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

lib/kitchen/driver/ec2.rb

+12-3
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ def create(state)
9494
server.wait_for do
9595
print '.'
9696
# Euca instances often report ready before they have an IP
97-
ready? && !public_ip_address.nil? && public_ip_address != '0.0.0.0'
97+
ipaddress = Kitchen::Driver::Ec2.hostname(self)
98+
ready? && !ipaddress.nil? && ipaddress != '0.0.0.0'
9899
end
99100
print '(server ready)'
100101
state[:hostname] = hostname(server)
@@ -219,10 +220,18 @@ def interface_types
219220

220221
def hostname(server)
221222
if config[:interface]
222-
method = interface_types.fetch(config[:interface]) do
223+
interface_type = interface_types.fetch(config[:interface]) do
223224
raise Kitchen::UserError, 'Invalid interface'
224225
end
225-
server.send(method)
226+
Kitchen::Driver::Ec2.hostname(server, interface_type)
227+
else
228+
Kitchen::Driver::Ec2.hostname(server)
229+
end
230+
end
231+
232+
def self.hostname(server, interface_type=nil)
233+
if interface_type
234+
server.send(interface_type)
226235
else
227236
server.dns_name || server.public_ip_address || server.private_ip_address
228237
end

0 commit comments

Comments
 (0)