From 4c8502f7fd1191a7539e496ee153cd211714ae4c Mon Sep 17 00:00:00 2001 From: Alex Vandiver Date: Wed, 21 Apr 2021 01:26:33 +0000 Subject: [PATCH] upgrade: Show fewer stacktraces. The stacktraces here are seldom useful -- for the calls to upgrade-stage-2, we know precisely what was run. For the `run` wrapper, the output contains the command that failed, which is sufficient to identify where in the upgrade process it was. Showing more stacktrace below the actual error merely confuses users and scrolls the real error off of the screen. --- scripts/lib/upgrade-zulip | 11 ++++++++--- scripts/lib/upgrade-zulip-from-git | 21 +++++++++++++-------- scripts/lib/zulip_tools.py | 2 +- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/scripts/lib/upgrade-zulip b/scripts/lib/upgrade-zulip index 20097aeaa5..34ac07eef6 100755 --- a/scripts/lib/upgrade-zulip +++ b/scripts/lib/upgrade-zulip @@ -65,8 +65,13 @@ try: # version is much better for fixing bugs in the upgrade process). deploy_path = deploy_path.strip() os.chdir(deploy_path) - subprocess.check_call( - [os.path.abspath("./scripts/lib/upgrade-zulip-stage-2"), deploy_path, *deploy_options] - ) + try: + subprocess.check_call( + [os.path.abspath("./scripts/lib/upgrade-zulip-stage-2"), deploy_path, *deploy_options] + ) + except subprocess.CalledProcessError: + # There's no use in showing a stacktrace here; it just hides + # the error from stage 2. + sys.exit(1) finally: release_deployment_lock() diff --git a/scripts/lib/upgrade-zulip-from-git b/scripts/lib/upgrade-zulip-from-git index a151646f81..7a2c47b16f 100755 --- a/scripts/lib/upgrade-zulip-from-git +++ b/scripts/lib/upgrade-zulip-from-git @@ -85,13 +85,18 @@ try: overwrite_symlink(deploy_path, os.path.join(DEPLOYMENTS_DIR, "next")) - subprocess.check_call( - [ - os.path.join(deploy_path, "scripts", "lib", "upgrade-zulip-stage-2"), - deploy_path, - "--from-git", - *deploy_options, - ] - ) + try: + subprocess.check_call( + [ + os.path.join(deploy_path, "scripts", "lib", "upgrade-zulip-stage-2"), + deploy_path, + "--from-git", + *deploy_options, + ] + ) + except subprocess.CalledProcessError: + # There's no use in showing a stacktrace here; it just hides + # the error from stage 2. + sys.exit(1) finally: release_deployment_lock() diff --git a/scripts/lib/zulip_tools.py b/scripts/lib/zulip_tools.py index 71f30c4296..493332f3ee 100755 --- a/scripts/lib/zulip_tools.py +++ b/scripts/lib/zulip_tools.py @@ -238,7 +238,7 @@ def run(args: Sequence[str], **kwargs: Any) -> None: ) print(WHITEONRED + "Actual error output for the subcommand is just above this." + ENDC) print() - raise + sys.exit(1) def log_management_command(cmd: Sequence[str], log_path: str) -> None: