From aa392f39557afb976a6b74db5c80ffea991b4294 Mon Sep 17 00:00:00 2001 From: Tedi Mitiku Date: Mon, 14 Aug 2023 15:45:25 -0400 Subject: [PATCH] fix: move where logs aggregator is destroyed (#1110) ## Description: This ensures that log aggregator won't be removed by `kurtosis clean -a`, but will be removed when you stop the engines. ## Is this change user facing? NO (but now users won't have to restart the engine every time they want to add an enclave after doing a `clean`) --- .circleci/config.yml | 4 ++-- .../engine_functions/destroy_engines.go | 9 --------- .../engine_functions/stop_engines.go | 6 ++++++ 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d9cc402ae7..b6a8806002 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -803,9 +803,9 @@ jobs: equal: [ "docker", << parameters.cli-cluster-backend >> ] steps: - run: - name: "Verify only the engine container remains after the clean" + name: "Verify only the engine container and logs aggregator remains after the clean" command: | - if ! [ "$(docker container ls -a | tail -n+2 | wc -l)" -eq 1 ]; then + if ! [ "$(docker container ls -a | tail -n+2 | wc -l)" -eq 2 ]; then docker container ls -a false fi diff --git a/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/engine_functions/destroy_engines.go b/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/engine_functions/destroy_engines.go index b9879cef73..858847d9a9 100644 --- a/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/engine_functions/destroy_engines.go +++ b/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/engine_functions/destroy_engines.go @@ -2,7 +2,6 @@ package engine_functions import ( "context" - "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/logs_aggregator_functions" "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_impls/docker/docker_manager" "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_impls/docker/docker_operation_parallelizer" "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_interface/objects/engine" @@ -62,13 +61,5 @@ func DestroyEngines( ) } - // This is a small hack so that the log aggregator isn't cleaned while trying to remove stopped engines (eg. kurtosis clean -a) - shouldRemoveLogComponents := len(matchingEnginesByContainerId) == 0 - if shouldRemoveLogComponents { - if err := logs_aggregator_functions.DestroyLogsAggregator(ctx, dockerManager); err != nil { - return nil, nil, stacktrace.Propagate(err, "An error occurred removing the logging components.") - } - } - return successfulGuids, erroredGuids, nil } diff --git a/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/engine_functions/stop_engines.go b/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/engine_functions/stop_engines.go index f625ec143f..0ba2fef9b0 100644 --- a/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/engine_functions/stop_engines.go +++ b/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/engine_functions/stop_engines.go @@ -2,6 +2,7 @@ package engine_functions import ( "context" + "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/logs_aggregator_functions" "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_impls/docker/docker_manager" "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_impls/docker/docker_operation_parallelizer" "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_interface/objects/engine" @@ -66,5 +67,10 @@ func StopEngines( ) } + // Stop centralized logging components + if err := logs_aggregator_functions.DestroyLogsAggregator(ctx, dockerManager); err != nil { + return nil, nil, stacktrace.Propagate(err, "An error occurred removing the logging components.") + } + return successfulGuids, erroredGuids, nil }