Revision b705c7a6 lib/rpc.py

b/lib/rpc.py
259 259

  
260 260
def _AddressLookup(node_list,
261 261
                   ssc=ssconf.SimpleStore,
262
                   nslookup_fn=netutils.HostInfo.LookupHostname):
262
                   nslookup_fn=netutils.Hostname.GetIP):
263 263
  """Return addresses for given node names.
264 264

  
265 265
  @type node_list: list
......
272 272
  @returns: List of corresponding addresses, if found
273 273

  
274 274
  """
275
  def _NSLookup(name):
276
    _, _, addrs = nslookup_fn(name)
277
    return addrs[0]
278

  
275
  iplist = ssc().GetNodePrimaryIPList()
279 276
  addresses = []
280
  try:
281
    iplist = ssc().GetNodePrimaryIPList()
282
    ipmap = dict(entry.split() for entry in iplist)
283
    for node in node_list:
284
      address = ipmap.get(node)
285
      if address is None:
286
        address = _NSLookup(node)
287
      addresses.append(address)
288
  except errors.ConfigurationError:
289
    # Address not found in so we do a NS lookup
290
    addresses = [_NSLookup(node) for node in node_list]
277
  ipmap = dict(entry.split() for entry in iplist)
278
  for node in node_list:
279
    address = ipmap.get(node)
280
    if address is None:
281
      address = nslookup_fn(node)
282
    addresses.append(address)
291 283

  
292 284
  return addresses
293 285

  

Also available in: Unified diff