server: Serve well-known bus names
Prior to this patch the mapper served unique connection
names. Serve well-known names instead so clients can
cache mapper lookup results.
Resolves openbmc/openbmc#1496
Resolves openbmc/openbmc#2670
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
Change-Id: I214f8cc56b2d70a7d000faf2a44cf8444ccd2ae9
diff --git a/obmc/mapper/server.py b/obmc/mapper/server.py
index 182cf2c..32d8080 100644
--- a/obmc/mapper/server.py
+++ b/obmc/mapper/server.py
@@ -205,10 +205,9 @@
self.service = None
self.index = {}
self.manager = Manager(bus, obmc.dbuslib.bindings.OBJ_PREFIX)
- self.unique = bus.get_unique_name()
self.bus_map = {}
self.defer_signals = {}
- self.bus_map[self.unique] = obmc.mapper.MAPPER_NAME
+ self.bus_map[bus.get_unique_name()] = obmc.mapper.MAPPER_NAME
self.namespaces = namespaces
self.interface_namespaces = interface_namespaces
self.blacklist = blacklist
@@ -216,7 +215,8 @@
self.interface_blacklist = interface_blacklist
# add my object mananger instance
- self.add_new_objmgr(obmc.dbuslib.bindings.OBJ_PREFIX, self.unique)
+ self.add_new_objmgr(
+ obmc.dbuslib.bindings.OBJ_PREFIX, obmc.mapper.MAPPER_NAME)
self.bus.add_signal_receiver(
self.bus_handler,
@@ -472,10 +472,10 @@
for owned_name, o in owners:
if not self.valid_signal(owned_name):
continue
- self.bus_map[o] = owned_name
- self.defer_signals[o] = []
+ self.bus_map[owned_name] = o
+ self.defer_signals[owned_name] = []
find_dbus_interfaces(
- self.bus, o, '/',
+ self.bus, owned_name, '/',
self.discovery_callback,
self.discovery_error,
subtree_match=self.path_match,
@@ -668,7 +668,7 @@
if create != delete:
self.update_interfaces(
- path, self.unique, delete, create)
+ path, obmc.mapper.MAPPER_NAME, delete, create)
def update_associations(
self, path, owner, old, new, created=[], destroyed=[]):