diff --git a/cluster/network.go b/cluster/network.go index 2e8747eb..25acc080 100644 --- a/cluster/network.go +++ b/cluster/network.go @@ -431,7 +431,7 @@ func checkPlaneTCPPortsFromHost(ctx context.Context, host *hosts.Host, portList return err } - containerLog, logsErr := docker.GetContainerLogsStdoutStderr(ctx, host.DClient, PortCheckContainer, "1") + containerLog, logsErr := docker.GetContainerLogsStdoutStderr(ctx, host.DClient, PortCheckContainer, "all", true) if logsErr != nil { log.Warnf(ctx, "[network] Failed to get network port check logs: %v", logsErr) } diff --git a/docker/docker.go b/docker/docker.go index 83b7cbd7..befb396a 100644 --- a/docker/docker.go +++ b/docker/docker.go @@ -364,11 +364,11 @@ func ReadContainerLogs(ctx context.Context, dClient *client.Client, containerNam return dClient.ContainerLogs(ctx, containerName, types.ContainerLogsOptions{Follow: follow, ShowStdout: true, ShowStderr: true, Timestamps: false, Tail: tail}) } -func GetContainerLogsStdoutStderr(ctx context.Context, dClient *client.Client, containerName, tail string) (string, error) { +func GetContainerLogsStdoutStderr(ctx context.Context, dClient *client.Client, containerName, tail string, follow bool) (string, error) { var containerStderr bytes.Buffer var containerStdout bytes.Buffer var containerLog string - clogs, logserr := ReadContainerLogs(ctx, dClient, containerName, false, tail) + clogs, logserr := ReadContainerLogs(ctx, dClient, containerName, follow, tail) if logserr != nil { logrus.Debug("logserr: %v", logserr) return containerLog, fmt.Errorf("Failed to get gather logs from container [%s]: %v", containerName, logserr) @@ -376,7 +376,6 @@ func GetContainerLogsStdoutStderr(ctx context.Context, dClient *client.Client, c defer clogs.Close() stdcopy.StdCopy(&containerStdout, &containerStderr, clogs) containerLog = containerStderr.String() - containerLog = strings.TrimSuffix(containerLog, "\n") return containerLog, nil } diff --git a/pki/pki.go b/pki/pki.go index 972fda5d..8b0fc4e1 100644 --- a/pki/pki.go +++ b/pki/pki.go @@ -290,7 +290,7 @@ func ExtractBackupBundleOnHost(ctx context.Context, host *hosts.Host, alpineSyst return err } if status != 0 { - containerLog, err := docker.GetContainerLogsStdoutStderr(ctx, host.DClient, BundleCertContainer, "5") + containerLog, err := docker.GetContainerLogsStdoutStderr(ctx, host.DClient, BundleCertContainer, "5", false) if err != nil { return err } diff --git a/services/etcd.go b/services/etcd.go index a5c2b0b9..a5520d6d 100644 --- a/services/etcd.go +++ b/services/etcd.go @@ -306,7 +306,7 @@ func RestoreEtcdSnapshot(ctx context.Context, etcdHost *hosts.Host, prsMap map[s return err } if status != 0 { - containerLog, err := docker.GetContainerLogsStdoutStderr(ctx, etcdHost.DClient, EtcdRestoreContainerName, "5") + containerLog, err := docker.GetContainerLogsStdoutStderr(ctx, etcdHost.DClient, EtcdRestoreContainerName, "5", false) if err != nil { return err } diff --git a/services/healthcheck.go b/services/healthcheck.go index 52c8a0bf..065ef79c 100644 --- a/services/healthcheck.go +++ b/services/healthcheck.go @@ -63,7 +63,8 @@ func runHealthcheck(ctx context.Context, host *hosts.Host, serviceName string, l return nil } logrus.Debug("Checking container logs") - containerLog, logserr := docker.GetContainerLogsStdoutStderr(ctx, host.DClient, serviceName, "1") + containerLog, logserr := docker.GetContainerLogsStdoutStderr(ctx, host.DClient, serviceName, "1", false) + containerLog = strings.TrimSuffix(containerLog, "\n") if logserr != nil { return fmt.Errorf("Failed to verify healthcheck for service [%s]: %v", serviceName, logserr) }