Fix hosts being in multiple groups, and duplicate host references in the same inventory file.

This commit is contained in:
Michael DeHaan 2012-05-19 17:24:54 -04:00
parent 7302b7bbc4
commit 8e88667f82
3 changed files with 27 additions and 3 deletions

View file

@ -37,6 +37,7 @@ class InventoryParser(object):
fh = open(filename)
self.lines = fh.readlines()
self.groups = {}
self.hosts = {}
self._parse()
def _parse(self):
@ -81,7 +82,12 @@ class InventoryParser(object):
tokens2 = hostname.split(":")
hostname = tokens2[0]
port = tokens2[1]
host = Host(name=hostname, port=port)
host = None
if hostname in self.hosts:
host = self.hosts[hostname]
else:
host = Host(name=hostname, port=port)
self.hosts[hostname] = host
if len(tokens) > 1:
for t in tokens[1:]:
(k,v) = t.split("=")