Bug 1890: Improve Action Execution
Changes exception handling to put the content of the exception
into the ns action result so failures have meaningful output
Change-Id: I361c4ed6b03012cd4432ba72215c99f9aaf45b55
Signed-off-by: Mark Beierl <mark.beierl@canonical.com>
diff --git a/osm_lcm/ns.py b/osm_lcm/ns.py
index b1c027a..6cb46e1 100644
--- a/osm_lcm/ns.py
+++ b/osm_lcm/ns.py
@@ -4990,9 +4990,7 @@
break
except asyncio.CancelledError:
raise
- except Exception as e: # asyncio.TimeoutError
- if isinstance(e, asyncio.TimeoutError):
- e = "Timeout"
+ except Exception as e:
retries -= 1
if retries >= 0:
self.logger.debug(
@@ -5003,7 +5001,9 @@
# wait and retry
await asyncio.sleep(retries_interval, loop=self.loop)
else:
- return "FAILED", str(e)
+ if isinstance(e, asyncio.TimeoutError):
+ e = N2VCException(message="Timed out waiting for action to complete")
+ return "FAILED", getattr(e, 'message', repr(e))
return "COMPLETED", output
@@ -5338,7 +5338,7 @@
)
self.logger.debug(
logging_text
- + " task Done with result {} {}".format(
+ + "Done with result {} {}".format(
nslcmop_operation_state, detailed_status
)
)