Revision 8f9a87c5 lib/utils/nodesetup.py

b/lib/utils/nodesetup.py
45 45

  
46 46
  """
47 47
  # Ensure aliases are unique
48
  aliases = algo.UniqueSequence([hostname] + aliases)[1:]
48
  names = algo.UniqueSequence([hostname] + aliases)
49 49

  
50 50
  out = StringIO()
51

  
52
  def _write_entry(written):
53
    if not written:
54
      out.write("%s\t%s\n" % (ip, " ".join(names)))
55
    return True
56

  
57
  written = False
51 58
  for line in io.ReadFile(file_name).splitlines(True):
52 59
    fields = line.split()
53 60
    if fields and not fields[0].startswith("#") and ip == fields[0]:
54
      continue
55
    out.write(line)
56

  
57
  out.write("%s\t%s" % (ip, hostname))
58
  if aliases:
59
    out.write(" %s" % " ".join(aliases))
60
  out.write("\n")
61
      written = _write_entry(written)
62
    else:
63
      out.write(line)
64
  _write_entry(written)
61 65

  
62 66
  io.WriteFile(file_name, data=out.getvalue(), mode=0644)
63 67

  

Also available in: Unified diff