$KCODE = 'utf-8'
- ans = "unknown"
+ ans = {"name": "unknown"}
yaml = YAML.load_file(yamlfile)
if (nodeinfo['ldap'].has_key?('ipHostNumber'))
nodeinfo['ldap']['ipHostNumber'].each do |addr|
yaml.keys.each do |hoster|
- if yaml[hoster].kind_of?(Array)
- netrange = yaml[hoster]
- elsif yaml[hoster].kind_of?(Array) and yaml[hoster].has_key?['netrange']
+ if yaml[hoster].kind_of?(Hash) and yaml[hoster].has_key?('netrange')
netrange = yaml[hoster]['netrange']
else
next
end
+
netrange.each do |net|
- if IPAddr.new(net).include?(addr)
- return hoster
+ begin
+ if IPAddr.new(net).include?(addr)
+ ans = yaml[hoster]
+ ans['name'] = hoster
+ end
+ rescue Exception => e
+ raise "Error while trying to match addr #{addr} for net #{net}: #{e.message}\n#{e.backtrace}"
+ end
end
end
end