diff --git a/docs/development/plugin-creation.md b/docs/development/plugin-creation.md index 5370b973d..9b5b4a497 100644 --- a/docs/development/plugin-creation.md +++ b/docs/development/plugin-creation.md @@ -200,7 +200,7 @@ Avoid copying files from running containers as these files may change over time. source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions" local TMP_FILE=$(mktemp "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX") -trap "rm -rf '$TMP_FILE' >/dev/null" RETURN INT TERM +trap "rm -rf '$TMP_FILE' >/dev/null" RETURN INT TERM EXIT local IMAGE_TAG="$(get_running_image_tag "$APP")" local IMAGE=$(get_deploying_app_image_name "$APP" "$IMAGE_TAG") diff --git a/plugins/scheduler-docker-local/bin/scheduler-deploy-process b/plugins/scheduler-docker-local/bin/scheduler-deploy-process index a088ee9df..fce53481b 100755 --- a/plugins/scheduler-docker-local/bin/scheduler-deploy-process +++ b/plugins/scheduler-docker-local/bin/scheduler-deploy-process @@ -5,7 +5,7 @@ source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions" source "$PLUGIN_CORE_AVAILABLE_PATH/common/property-functions" source "$PLUGIN_AVAILABLE_PATH/checks/functions" -main() { +fn-scheduler-deploy-process() { declare APP="$1" IMAGE_SOURCE_TYPE="$2" IMAGE="$3" IMAGE_TAG="$4" PROC_TYPE="$5" PROC_COUNT="$6" local CONTAINER_INDEX=1 local image_vendor @@ -29,7 +29,7 @@ main() { fi local PROCESS_TMP_FILE=$(mktemp "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX") - trap "rm -rf '$PROCESS_TMP_FILE' >/dev/null" RETURN INT TERM + trap "rm -rf '$PROCESS_TMP_FILE' >/dev/null" RETURN INT TERM EXIT while [[ $CONTAINER_INDEX -le $PROC_COUNT ]]; do echo "$PLUGIN_AVAILABLE_PATH/scheduler-docker-local/bin/scheduler-deploy-process-container $APP $IMAGE_SOURCE_TYPE $IMAGE $IMAGE_TAG $PROC_TYPE $PROC_COUNT $CONTAINER_INDEX" >>"$PROCESS_TMP_FILE" @@ -65,4 +65,10 @@ main() { done } +main() { + declare desc="wrapper function to ensure tmp files are properly annotated" + + fn-scheduler-deploy-process "$@" +} + main "$@" diff --git a/plugins/scheduler-docker-local/check-deploy b/plugins/scheduler-docker-local/check-deploy index cdf2c7610..ceaabcc4a 100755 --- a/plugins/scheduler-docker-local/check-deploy +++ b/plugins/scheduler-docker-local/check-deploy @@ -109,15 +109,17 @@ trigger-scheduler-docker-local-check-deploy() { checks_check_deploy_cleanup() { declare desc="print container output" - local id="$1" + declare CID="$1" TMP_FILE="$1" - if [[ $id ]]; then + if [[ $CID ]]; then dokku_log_info2_quiet "Start of $APP container output ($DOKKU_APP_CONTAINER_TYPE.$CONTAINER_INDEX)" - dokku_container_log_verbose_quiet "$id" + dokku_container_log_verbose_quiet "$CID" dokku_log_info2_quiet "End of $APP container output ($DOKKU_APP_CONTAINER_TYPE.$CONTAINER_INDEX)" fi + + rm -rf "$TMP_FILE" >/dev/null } - trap "checks_check_deploy_cleanup $DOKKU_APP_CONTAINER_ID" RETURN INT TERM EXIT + trap "checks_check_deploy_cleanup $DOKKU_APP_CONTAINER_ID $TMP_APP_JSON_OUTPUT" RETURN INT TERM EXIT local DOKKU_DEFAULT_CHECKS_WAIT="${DOKKU_DEFAULT_CHECKS_WAIT:-10}" content="$(docker-container-healthchecker add "$DOKKU_APP_CONTAINER_TYPE" --app-json "$TMP_APP_JSON_OUTPUT" --if-empty --pretty --uptime "$DOKKU_DEFAULT_CHECKS_WAIT")" diff --git a/plugins/scheduler-docker-local/scheduler-deploy b/plugins/scheduler-docker-local/scheduler-deploy index aa69eedc6..fd7bc18de 100755 --- a/plugins/scheduler-docker-local/scheduler-deploy +++ b/plugins/scheduler-docker-local/scheduler-deploy @@ -46,7 +46,7 @@ trigger-scheduler-docker-local-scheduler-deploy() { export DOKKU_WAIT_TO_RETIRE local TMP_FILE=$(mktemp "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX") - trap "rm -rf '$TMP_FILE' >/dev/null" RETURN INT TERM + trap "rm -rf '$TMP_FILE' >/dev/null" RETURN INT TERM EXIT local line local PROC_TYPE