From 17e00d8d9d77425c01c64c0a68169b5be4a8904a Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Fri, 28 Feb 2025 10:06:05 +0000 Subject: [PATCH 1/2] fix(agent/agentcontainers): remove empty warning if no containers exist --- agent/agentcontainers/containers_dockercli.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/agent/agentcontainers/containers_dockercli.go b/agent/agentcontainers/containers_dockercli.go index 27e5f835d5adb..e1f44bbd9d737 100644 --- a/agent/agentcontainers/containers_dockercli.go +++ b/agent/agentcontainers/containers_dockercli.go @@ -253,11 +253,16 @@ func (dcl *DockerCLILister) List(ctx context.Context) (codersdk.WorkspaceAgentLi return codersdk.WorkspaceAgentListContainersResponse{}, xerrors.Errorf("scan docker ps output: %w", err) } + res := codersdk.WorkspaceAgentListContainersResponse{ + Containers: make([]codersdk.WorkspaceAgentDevcontainer, 0, len(ids)), + Warnings: make([]string, 0), + } dockerPsStderr := strings.TrimSpace(stderrBuf.String()) + if dockerPsStderr != "" { + res.Warnings = append(res.Warnings, dockerPsStderr) + } if len(ids) == 0 { - return codersdk.WorkspaceAgentListContainersResponse{ - Warnings: []string{dockerPsStderr}, - }, nil + return res, nil } // now we can get the detailed information for each container @@ -273,9 +278,6 @@ func (dcl *DockerCLILister) List(ctx context.Context) (codersdk.WorkspaceAgentLi return codersdk.WorkspaceAgentListContainersResponse{}, xerrors.Errorf("run docker inspect: %w", err) } - res := codersdk.WorkspaceAgentListContainersResponse{ - Containers: make([]codersdk.WorkspaceAgentDevcontainer, len(ins)), - } for idx, in := range ins { out, warns := convertDockerInspect(in) res.Warnings = append(res.Warnings, warns...) From 3d092d2d0d49829ce909a39f26d7aee06c4c64ba Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Fri, 28 Feb 2025 10:33:47 +0000 Subject: [PATCH 2/2] fixup! fix(agent/agentcontainers): remove empty warning if no containers exist --- agent/agentcontainers/containers_dockercli.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agent/agentcontainers/containers_dockercli.go b/agent/agentcontainers/containers_dockercli.go index e1f44bbd9d737..5218153bde427 100644 --- a/agent/agentcontainers/containers_dockercli.go +++ b/agent/agentcontainers/containers_dockercli.go @@ -278,10 +278,10 @@ func (dcl *DockerCLILister) List(ctx context.Context) (codersdk.WorkspaceAgentLi return codersdk.WorkspaceAgentListContainersResponse{}, xerrors.Errorf("run docker inspect: %w", err) } - for idx, in := range ins { + for _, in := range ins { out, warns := convertDockerInspect(in) res.Warnings = append(res.Warnings, warns...) - res.Containers[idx] = out + res.Containers = append(res.Containers, out) } if dockerPsStderr != "" {