Add retries for LimitsExceeded errors

There will now be retries for the LimitsExceeded
exceptions just like the ObjectPathInUse ones.

Resolves openbmc/openbmc#978.

Change-Id: Ide1465372148d804c522f99e252a0c6c48e7da41
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
diff --git a/obmc/mapper/bindings.py b/obmc/mapper/bindings.py
index 14d9a7d..8adab63 100644
--- a/obmc/mapper/bindings.py
+++ b/obmc/mapper/bindings.py
@@ -41,8 +41,9 @@
             try:
                 return func()
             except dbus.exceptions.DBusException, e:
-                if e.get_dbus_name() is not \
-                        'org.freedesktop.DBus.Error.ObjectPathInUse':
+                if e.get_dbus_name() not in \
+                    ['org.freedesktop.DBus.Error.ObjectPathInUse',
+                     'org.freedesktop.DBus.Error.LimitsExceeded']:
                     raise
 
                 count += 1
diff --git a/obmc/mapper/utils.py b/obmc/mapper/utils.py
index d7075bd..706cc61 100644
--- a/obmc/mapper/utils.py
+++ b/obmc/mapper/utils.py
@@ -99,7 +99,9 @@
 
         if e.get_dbus_name() == 'org.freedesktop.DBus.Error.FileNotFound':
             pass
-        elif e.get_dbus_name() == 'org.freedesktop.DBus.Error.ObjectPathInUse':
+        elif e.get_dbus_name() in \
+            ['org.freedesktop.DBus.Error.ObjectPathInUse',
+             'org.freedesktop.DBus.Error.LimitsExceeded']:
             if retry > self.busy_retries:
                 self.force_done()
                 self.error_callback(e)