Skip to content

Commit 381dcc0

Browse files
authored
Multiple prefix per site in nb_inventory - Fixes #732
1 parent 260b676 commit 381dcc0

File tree

1 file changed

+5
-10
lines changed

1 file changed

+5
-10
lines changed

plugins/inventory/nb_inventory.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -648,10 +648,9 @@ def extract_site(self, host):
648648
site = self.sites_lookup[host["site"]["id"]]
649649
if (
650650
self.prefixes
651-
): # If prefixes have been pulled, attach prefix to its assigned site
652-
prefix_id = self.prefixes_sites_lookup[site["id"]]
653-
prefix = self.prefixes_lookup[prefix_id]
654-
site["prefix"] = prefix
651+
): # If prefixes have been pulled, attach prefix list to its assigned site
652+
prefixes = self.prefixes_sites_lookup[site["id"]]
653+
site["prefixes"] = prefixes
655654
return self._pluralize(site)
656655
except Exception:
657656
return
@@ -915,16 +914,12 @@ def refresh_prefixes(self):
915914
query_key="site",
916915
query_values=list(self.sites_with_prefixes),
917916
)
918-
self.prefixes_sites_lookup = defaultdict(dict)
919-
self.prefixes_lookup = defaultdict(dict)
917+
self.prefixes_sites_lookup = defaultdict(list)
920918

921919
# We are only concerned with Prefixes that have actually been assigned to sites
922920
for prefix in prefixes:
923921
if prefix.get("site"):
924-
prefix_id = prefix["id"]
925-
site_id = prefix["site"]["id"]
926-
self.prefixes_lookup[prefix_id] = prefix
927-
self.prefixes_sites_lookup[site_id] = prefix_id
922+
self.prefixes_sites_lookup[prefix["site"]["id"]].append(prefix)
928923
# Remove "site" attribute, as it's redundant when prefixes are assigned to site
929924
del prefix["site"]
930925

0 commit comments

Comments
 (0)