server: discovery: Apply interface filtering rules
We have interface rules but are not applying them on new daemon
startup discovery. This results in unintended caching of blacklisted
or unspecified interfaces.
Resolves openbmc/openbmc#3052
Tested: Built palmetto image and booted BMC to obmc-standby target
Change-Id: I57d01f925e51a10abdb55d39922c7f52d2286d91
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/obmc/mapper/server.py b/obmc/mapper/server.py
index 01c18ee..5e51d65 100644
--- a/obmc/mapper/server.py
+++ b/obmc/mapper/server.py
@@ -102,7 +102,9 @@
try:
self.gmo_pending.remove(path)
for k, v in list(objs.items()):
- self.results[k] = v
+ ifaces = {iface: properties for iface, properties in list(
+ filter(lambda x: iface_match(x[0]), v.items()))}
+ self.results[k] = ifaces
except Exception as e:
error_callback(service, path, e)
return None