Papi socket: except more errors to insert err_msg 25/20725/2
authorVratko Polak <vrpolak@cisco.com>
Thu, 18 Jul 2019 12:35:17 +0000 (14:35 +0200)
committerVratko Polak <vrpolak@cisco.com>
Thu, 18 Jul 2019 13:07:54 +0000 (13:07 +0000)
Change-Id: Ided91ee2b47dafb6aad83091126294d79f67aeac
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
resources/libraries/python/PapiExecutor.py

index 0a009b3..77732c7 100644 (file)
@@ -468,16 +468,20 @@ class PapiSocketExecutor(object):
             api_name = command["api_name"]
             papi_fn = getattr(vpp_instance.api, api_name)
             try:
-                reply = papi_fn(**command["api_args"])
-            except IOError as err:
-                # Ocassionally an error happens, try reconnect.
-                logger.warn("Reconnect after error: {err!r}".format(err=err))
-                self.vpp_instance.disconnect()
-                # Testing showes immediate reconnect fails.
-                time.sleep(1)
-                self.vpp_instance.connect_sync("csit_socket")
-                logger.trace("Reconnected.")
-                reply = papi_fn(**command["api_args"])
+                try:
+                    reply = papi_fn(**command["api_args"])
+                except IOError as err:
+                    # Ocassionally an error happens, try reconnect.
+                    logger.warn("Reconnect after error: {err!r}".format(
+                        err=err))
+                    self.vpp_instance.disconnect()
+                    # Testing showes immediate reconnect fails.
+                    time.sleep(1)
+                    self.vpp_instance.connect_sync("csit_socket")
+                    logger.trace("Reconnected.")
+                    reply = papi_fn(**command["api_args"])
+            except (AttributeError, IOError) as err:
+                raise_from(AssertionError(err_msg), err, level="INFO")
             # *_dump commands return list of objects, convert, ordinary reply.
             if not isinstance(reply, list):
                 reply = [reply]