Merge ~alexsander-souza/maas:lp2056223_prettier_logs into maas:master

Proposed by Alexsander de Souza
Status: Merged
Approved by: Alexsander de Souza
Approved revision: 902e708cd1a7192d5a1715f9ef3927bbe9985b17
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~alexsander-souza/maas:lp2056223_prettier_logs
Merge into: maas:master
Diff against target: 52 lines (+13/-11)
1 file modified
src/maasserver/workflow/bootresource.py (+13/-11)
Reviewer Review Type Date Requested Status
Anton Troyanov Approve
MAAS Lander Approve
Review via email: mp+462369@code.launchpad.net

Commit message

refactor(bootresources): show prettier error messages

don't show complete stacktraces for recoverable errors.

fixes LP#2056223

To post a comment you must log in.
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b lp2056223_prettier_logs lp:~alexsander-souza/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 902e708cd1a7192d5a1715f9ef3927bbe9985b17

review: Approve
Revision history for this message
Anton Troyanov (troyanov) :
review: Approve
Revision history for this message
MAAS Lander (maas-lander) wrote :

LANDING
-b lp2056223_prettier_logs lp:~alexsander-souza/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED BUILD
LOG: http://maas-ci.internal:8080/job/maas-tester/4964/console

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/src/maasserver/workflow/bootresource.py b/src/maasserver/workflow/bootresource.py
index 5f24189..a1938d0 100644
--- a/src/maasserver/workflow/bootresource.py
+++ b/src/maasserver/workflow/bootresource.py
@@ -5,8 +5,10 @@ from datetime import datetime, timedelta
5import random5import random
6from typing import Coroutine, Sequence6from typing import Coroutine, Sequence
77
8from aiohttp.client_exceptions import ClientError
8from temporalio import activity, workflow9from temporalio import activity, workflow
9from temporalio.common import RetryPolicy, WorkflowIDReusePolicy10from temporalio.common import RetryPolicy, WorkflowIDReusePolicy
11from temporalio.exceptions import ApplicationError
10from temporalio.workflow import ActivityCancellationType12from temporalio.workflow import ActivityCancellationType
1113
12from maasserver.utils.bootresource import (14from maasserver.utils.bootresource import (
@@ -147,15 +149,7 @@ class BootResourcesActivity(MAASAPIClient):
147 if dt_now > (last_update + REPORT_INTERVAL):149 if dt_now > (last_update + REPORT_INTERVAL):
148 await self.report_progress(param.rfile_ids, lfile.size)150 await self.report_progress(param.rfile_ids, lfile.size)
149 last_update = dt_now151 last_update = dt_now
150 try:152 store.write(data)
151 store.write(data)
152 except (
153 IOError,
154 LocalStoreInvalidHash,
155 LocalStoreWriteBeyondEOF,
156 ) as ex:
157 activity.logger.warn(f"Download failed {str(ex)}")
158 raise
159153
160 activity.logger.debug("Download done, doing checksum")154 activity.logger.debug("Download done, doing checksum")
161 activity.heartbeat()155 activity.heartbeat()
@@ -170,10 +164,18 @@ class BootResourcesActivity(MAASAPIClient):
170 await self.report_progress(param.rfile_ids, lfile.size)164 await self.report_progress(param.rfile_ids, lfile.size)
171 return True165 return True
172 else:166 else:
173 activity.logger.warn("Download failed, invalid checksum")
174 await self.report_progress(param.rfile_ids, 0)167 await self.report_progress(param.rfile_ids, 0)
175 lfile.unlink()168 lfile.unlink()
176 return False169 raise ApplicationError("Invalid checksum")
170 except (
171 IOError,
172 ClientError,
173 LocalStoreInvalidHash,
174 LocalStoreWriteBeyondEOF,
175 ) as ex:
176 raise ApplicationError(
177 str(ex), type=ex.__class__.__name__
178 ) from None
177 finally:179 finally:
178 lfile.release_lock()180 lfile.release_lock()
179181

Subscribers

People subscribed via source and target branches