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)