Don't return errors when busy

Respond to method calls when the mapper is in the
middle of processing a NameOwnerChanged signal, rather
than returning ObjectPathInUse.

Prior to this patch mapper responses guaranteed causal ordering.
This patch removes that guarantee in order to remove the need
for operation retries.

Achieving both causal ordering and blocking responses is not possible
with python-dbus without additional threads.  This workaround will
serve as a mitigation until the mapper can be written with sdbus
bindings that do not have the limitations of python-dbus.

Resolves openbmc/openbmc#1145

Change-Id: Idc21a11d7cc815bc8d0fcb7f18edc63bfed14da9
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/obmc/mapper/server.py b/obmc/mapper/server.py
index fba4c9b..dc125a6 100644
--- a/obmc/mapper/server.py
+++ b/obmc/mapper/server.py
@@ -546,9 +546,6 @@
 
     @dbus.service.method(obmc.mapper.MAPPER_IFACE, 'sas', 'a{sas}')
     def GetObject(self, path, interfaces):
-        if len(self.defer_signals):
-            raise MapperBusyException()
-
         o = self.cache_get(path)
         if not o:
             raise MapperNotFoundException(path)
@@ -557,9 +554,6 @@
 
     @dbus.service.method(obmc.mapper.MAPPER_IFACE, 'sias', 'as')
     def GetSubTreePaths(self, path, depth, interfaces):
-        if len(self.defer_signals):
-            raise MapperBusyException()
-
         try:
             return self.GetSubTree(path, depth, interfaces).iterkeys()
         except KeyError:
@@ -567,9 +561,6 @@
 
     @dbus.service.method(obmc.mapper.MAPPER_IFACE, 'sias', 'a{sa{sas}}')
     def GetSubTree(self, path, depth, interfaces):
-        if len(self.defer_signals):
-            raise MapperBusyException()
-
         try:
             return self.filter_interfaces(
                 self.cache.dataitems(path, depth),
@@ -715,9 +706,6 @@
 
     @dbus.service.method(obmc.mapper.MAPPER_IFACE, 'sas', 'a{sa{sas}}')
     def GetAncestors(self, path, interfaces):
-        if len(self.defer_signals):
-            raise MapperBusyException()
-
         if not self.cache_get(path):
             raise MapperNotFoundException(path)