Skip to content

Commit 35f45da

Browse files
committed
fix(pipeline): exception msg is None
1 parent 46ef19a commit 35f45da

3 files changed

Lines changed: 8 additions & 6 deletions

File tree

rootfs/api/models/app.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -316,11 +316,11 @@ def pipeline(self, release, ptypes, force_deploy=False):
316316
ptypes = list(ptypes) if ptypes is not None else ptypes
317317
release.add_condition(state="succeed", action="pipeline", ptypes=ptypes)
318318
except Exception as e:
319-
release.failed, release.state = True, "crashed"
319+
release.failed, release.state, msg = True, "crashed", f"{type(e).__name__}: {e}"
320320
ptypes = list(ptypes) if ptypes is not None else ptypes
321321
release.add_condition(
322-
state="crashed", action="pipeline", ptypes=ptypes, exception=str(e))
323-
self.log(f"{prefix} pipeline runtime error: {release.exception}", logging.ERROR)
322+
state="crashed", action="pipeline", ptypes=ptypes, exception=msg)
323+
self.log(f"{prefix} pipeline runtime error, {msg}", logging.ERROR)
324324
finally:
325325
DeployLock(self.pk).release(ptypes) # release all locks
326326
release.save(update_fields=["state", "failed"]) # avoid overwriting other fields

rootfs/api/tests/test_config.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ def test_config_deploy_failure(self, mock_requests):
412412
app = App.objects.get(id=app_id)
413413
release = app.release_set.latest()
414414
self.assertEqual(release.failed, True)
415-
self.assertEqual(release.conditions[0]['exception'], "Boom!")
415+
self.assertEqual(release.conditions[0]['exception'], "Exception: Boom!")
416416

417417
def test_invalid_config_keys(self, mock_requests):
418418
"""Test that invalid config keys are rejected.
@@ -524,7 +524,8 @@ def test_config_failures(self, mock_requests):
524524
self.assertEqual(response.status_code, 201)
525525
self.assertEqual(app.release_set.latest().version, 4)
526526
self.assertEqual(app.release_set.latest().failed, True)
527-
self.assertEqual(app.release_set.latest().conditions[0]['exception'], "Boom!")
527+
self.assertEqual(
528+
app.release_set.latest().conditions[0]['exception'], "Exception: Boom!")
528529
self.assertEqual(app.release_set.filter(failed=False).latest().version, 3)
529530

530531
# create a build to see that the new release is created with the last successful config

rootfs/api/tests/test_release.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,8 @@ def test_conditions(self, mock_requests):
132132
self.assertEqual(response.status_code, 201, response.data)
133133
url = f'/v2/apps/{app_id}/releases/'
134134
response = self.client.get(url)
135-
self.assertEqual(response.data['results'][0]['conditions'][0]['exception'], 'Boom!')
135+
self.assertEqual(
136+
response.data['results'][0]['conditions'][0]['exception'], 'Exception: Boom!')
136137

137138
def test_get_image(self, mock_requests):
138139
app_id = self.create_app()

0 commit comments

Comments
 (0)