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