From 20689dba488fe47f674730a2323d4d42ca260710 Mon Sep 17 00:00:00 2001 From: Walter Huf Date: Fri, 14 Mar 2014 09:56:04 -0500 Subject: [PATCH] Prevents crash if an interface doesn't have an address --- libraries/default.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) 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 = [] -- 2.47.3