From f54369b7346ad650f587fb3a1285b044df217ebc Mon Sep 17 00:00:00 2001 From: Tedi Mitiku Date: Fri, 12 Jul 2024 17:21:27 -0400 Subject: [PATCH] fix get engine logs and components --- .../shared_helpers/shared_helpers.go | 39 ++++++++++--------- .../docker/docker_manager/docker_manager.go | 26 +++++++++++++ 2 files changed, 46 insertions(+), 19 deletions(-) diff --git a/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/shared_helpers/shared_helpers.go b/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/shared_helpers/shared_helpers.go index 18c3e533e2..ba9c236e66 100644 --- a/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/shared_helpers/shared_helpers.go +++ b/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/shared_helpers/shared_helpers.go @@ -5,7 +5,6 @@ import ( "context" "encoding/json" "fmt" - "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_impls/docker/object_attributes_provider/docker_label_key" "io" "net" "os" @@ -14,6 +13,8 @@ import ( "strings" "time" + "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_impls/docker/object_attributes_provider/docker_label_key" + "github.com/docker/docker/pkg/stdcopy" "github.com/docker/go-connections/nat" "github.com/gammazero/workerpool" @@ -417,24 +418,24 @@ func GetEngineAndLogsComponentsNetwork( ctx context.Context, dockerManager *docker_manager.DockerManager, ) (*types.Network, error) { - matchingNetworks, err := dockerManager.GetNetworksByName(ctx, consts.NameOfNetworkToStartEngineAndLogServiceContainersIn) - if err != nil { - return nil, stacktrace.Propagate( - err, - "An error occurred getting networks matching the network we want to start the engine in, '%v'", - consts.NameOfNetworkToStartEngineAndLogServiceContainersIn, - ) - } - numMatchingNetworks := len(matchingNetworks) - if numMatchingNetworks == 0 && numMatchingNetworks > 1 { - return nil, stacktrace.NewError( - "Expected exactly one network matching the name of the network that we want to start the engine in, '%v', but got %v", - consts.NameOfNetworkToStartEngineAndLogServiceContainersIn, - numMatchingNetworks, - ) - } - targetNetwork := matchingNetworks[0] - return targetNetwork, nil + // matchingNetworks, err := dockerManager.GetNetworksByName(ctx, consts.NameOfNetworkToStartEngineAndLogServiceContainersIn) + // if err != nil { + // return nil, stacktrace.Propagate( + // err, + // "An error occurred getting networks matching the network we want to start the engine in, '%v'", + // consts.NameOfNetworkToStartEngineAndLogServiceContainersIn, + // ) + // } + // numMatchingNetworks := len(matchingNetworks) + // if numMatchingNetworks == 0 && numMatchingNetworks > 1 { + // return nil, stacktrace.NewError( + // "Expected exactly one network matching the name of the network that we want to start the engine in, '%v', but got %v", + // consts.NameOfNetworkToStartEngineAndLogServiceContainersIn, + // numMatchingNetworks, + // ) + // } + // targetNetwork := matchingNetworks[0] + return dockerManager.GetDefaultNetwork(ctx) } func DumpContainers(ctx context.Context, dockerManager *docker_manager.DockerManager, containers []*types.Container, outputDirpath string) error { diff --git a/container-engine-lib/lib/backend_impls/docker/docker_manager/docker_manager.go b/container-engine-lib/lib/backend_impls/docker/docker_manager/docker_manager.go index 1779f8eedc..1e5909af96 100644 --- a/container-engine-lib/lib/backend_impls/docker/docker_manager/docker_manager.go +++ b/container-engine-lib/lib/backend_impls/docker/docker_manager/docker_manager.go @@ -413,6 +413,32 @@ func (manager *DockerManager) RemoveNetwork(context context.Context, networkId s return nil } +func (manager *DockerManager) GetDefaultNetwork(ctx context.Context) (*docker_manager_types.Network, error) { + + matchingNetworks, err := manager.GetNetworksByName(ctx, consts.NameOfNetworkToStartEngineAndLogServiceContainersIn) + if err != nil { + return nil, stacktrace.Propagate( + err, + "An error occurred getting networks matching the network we want to start the engine in, '%v'", + consts.NameOfNetworkToStartEngineAndLogServiceContainersIn, + ) + } + numMatchingNetworks := len(matchingNetworks) + if numMatchingNetworks > 1 { + return nil, stacktrace.NewError( + "Expected exactly one network matching the name of the network that we want to start the engine in, '%v', but got %v", + consts.NameOfNetworkToStartEngineAndLogServiceContainersIn, + numMatchingNetworks, + ) + } + + if numMatchingNetworks == 0 { + return nil, stacktrace.NewError(fmt.Sprintf("No matching network found with the configured name: %v", consts.NameOfNetworkToStartEngineAndLogServiceContainersIn)) + } + + return matchingNetworks[0], nil +} + /* CreateVolume Creates a Docker volume identified by the given name.