From 900a5315fb5bbbcc8706ad9a2ff6d243ac6a46ed Mon Sep 17 00:00:00 2001 From: Tedi Mitiku Date: Wed, 31 Jul 2024 16:29:21 -0400 Subject: [PATCH] wait and list networks before connecting --- .../reverse_proxy_functions/network_reverse_proxy.go | 5 +++++ .../docker/docker_manager/docker_manager.go | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/reverse_proxy_functions/network_reverse_proxy.go b/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/reverse_proxy_functions/network_reverse_proxy.go index 109e4c1c20..539e91eb9c 100644 --- a/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/reverse_proxy_functions/network_reverse_proxy.go +++ b/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/reverse_proxy_functions/network_reverse_proxy.go @@ -2,7 +2,9 @@ package reverse_proxy_functions import ( "context" + "github.com/sirupsen/logrus" "net" + "time" "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/object_attributes_provider/docker_label_key" @@ -34,6 +36,9 @@ func ConnectReverseProxyToNetwork(ctx context.Context, dockerManager *docker_man return nil } + logrus.Infof("Waiting a few second before connecting reverse proxy to network...") + time.Sleep(10 * time.Second) + logrus.Infof("Okay lets try and connect now.") if err = dockerManager.ConnectContainerToNetwork(ctx, networkId, maybeReverseProxyContainerId, autoAssignIpAddressToReverseProxy, emptyAliasForReverseProxy); err != nil { return stacktrace.Propagate(err, "An error occurred while connecting the reverse proxy with container id '%v' to the enclave network '%v'", maybeReverseProxyContainerId, networkId) } 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 0293d194f8..4e38b5afe7 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 @@ -1222,6 +1222,15 @@ func (manager *DockerManager) ConnectContainerToNetwork(ctx context.Context, net config := getEndpointSettingsForIpAddress(staticIpAddressStr, alias) + logrus.Infof("Listing all networks right before attempting to connect to network...") + networkResources, err := manager.dockerClient.NetworkList(ctx, types.NetworkListOptions{}) + for _, networkResource := range networkResources { + logrus.Infof("Information about network '%v' that exists: %v", networkResource.Name, networkResource) + if networkResource.ID == networkId { + logrus.Infof("The network we are trying to connect to exists right before connection.") + } + } + err = manager.dockerClient.NetworkConnect( ctx, networkId,