From 197378633578984d99954a63e46c392d7e71f874 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Mon, 11 Jul 2022 09:10:06 -0500 Subject: [PATCH] fix: Add `trap` to agent startup script to sleep on failure (#2873) * fix: Add `trap` to agent startup script to sleep on failure The Docker Terraform provider removes containers immediately on exit, making it difficult to debug a failed container start with Coder. This will sleep on exit and output a friendly log, which should assist with debugging failures. * Update provisionersdk/agent.go Co-authored-by: Mathias Fredriksson * Update provisionersdk/agent.go Co-authored-by: Mathias Fredriksson Co-authored-by: Mathias Fredriksson --- provisionersdk/scripts/bootstrap_darwin.sh | 1 + provisionersdk/scripts/bootstrap_linux.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/provisionersdk/scripts/bootstrap_darwin.sh b/provisionersdk/scripts/bootstrap_darwin.sh index a5f1af093d..1e5d549b1d 100644 --- a/provisionersdk/scripts/bootstrap_darwin.sh +++ b/provisionersdk/scripts/bootstrap_darwin.sh @@ -1,5 +1,6 @@ #!/usr/bin/env sh set -eux pipefail +trap 'echo === Agent script exited with non-zero code. Sleeping 24h to preserve logs... && sleep 86400' EXIT BINARY_DIR=$(mktemp -d -t coder.XXXXXX) BINARY_NAME=coder cd "$BINARY_DIR" diff --git a/provisionersdk/scripts/bootstrap_linux.sh b/provisionersdk/scripts/bootstrap_linux.sh index 72062aef69..3bf6065164 100644 --- a/provisionersdk/scripts/bootstrap_linux.sh +++ b/provisionersdk/scripts/bootstrap_linux.sh @@ -1,5 +1,6 @@ #!/usr/bin/env sh set -eux pipefail +trap 'echo === Agent script exited with non-zero code. Sleeping 24h to preserve logs... && sleep 86400' EXIT BINARY_DIR=$(mktemp -d -t coder.XXXXXX) BINARY_NAME=coder BINARY_URL=${ACCESS_URL}bin/coder-linux-${ARCH}