From: Walter Huf Date: Fri, 14 Mar 2014 14:56:04 +0000 (-0500) Subject: Prevents crash if an interface doesn't have an address X-Git-Tag: v0.8.0~50^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=20689dba488fe47f674730a2323d4d42ca260710;p=ceph-cookbooks.git Prevents crash if an interface doesn't have an address --- diff --git a/libraries/default.rb b/libraries/default.rb index faeeebd..8b00ccd 100644 --- a/libraries/default.rb +++ b/libraries/default.rb @@ -32,17 +32,22 @@ def find_node_ip_in_network(network, nodeish = nil) nodeish = node unless nodeish net = IPAddr.new(network) nodeish['network']['interfaces'].each do |iface, addrs| - addrs['addresses'].each do |ip, params| - if params['family'].eql?('inet6') && net.include?(ip) - return "[#{ip}]:6789" - elsif params['family'].eql?('inet') && net.include?(ip) - return "#{ip}:6789" - end + addresses = addrs['addresses'] || [] + addresses.each do |ip, params| + return ip_address_to_ceph_address(ip, params) if net.include?(ip) end end nil end +def ip_address_to_ceph_address(ip, params) + if params['family'].eql?('inet6') && net.include?(ip) + return "[#{ip}]:6789" + elsif params['family'].eql?('inet') && net.include?(ip) + return "#{ip}:6789" + end +end + def mon_addresses mon_ips = []