Make sure any existing groups gets reused

parent 5504f13c
......@@ -67,9 +67,10 @@ class InventoryParser(object):
active_group_name = line.replace("[","").replace("]","").strip()
if line.find(":vars") != -1 or line.find(":children") != -1:
active_group_name = active_group_name.rsplit(":", 1)[0]
self.groups[active_group_name] = Group(name=active_group_name)
if active_group_name not in self.groups:
self.groups[active_group_name] = Group(name=active_group_name)
active_group_name = None
else:
elif active_group_name not in self.groups:
new_group = self.groups[active_group_name] = Group(name=active_group_name)
all.add_child_group(new_group)
elif line.startswith("#") or line == '':
......
......@@ -142,7 +142,7 @@ class TestInventory(unittest.TestCase):
print vars
expected = dict(
a='1', b='2', c='3', d='100002', rga='1', rgb='2', rgc='3',
a='1', b='2', c='3', d='10002', rga='1', rgb='2', rgc='3',
inventory_hostname='rtp_a', inventory_hostname_short='rtp_a',
group_names=[ 'eastcoast', 'nc', 'redundantgroup', 'redundantgroup2', 'redundantgroup3', 'rtp', 'us' ]
)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment