From 823f2a7991223ea57f2df4d763c8e2547faddb62 Mon Sep 17 00:00:00 2001 From: Oscar Zhou <100548325+oscarzhou-portainer@users.noreply.github.com> Date: Fri, 11 Apr 2025 08:26:11 +1200 Subject: [PATCH] fix(edge): missing env var in async agent docker snapshot [BE-11709] (#625) --- pkg/snapshot/docker.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/snapshot/docker.go b/pkg/snapshot/docker.go index 49ae57c59..3ea4dc0d5 100644 --- a/pkg/snapshot/docker.go +++ b/pkg/snapshot/docker.go @@ -136,6 +136,7 @@ func dockerSnapshotContainers(snapshot *portainer.DockerSnapshot, cli *client.Cl stacks := make(map[string]struct{}) gpuUseSet := make(map[string]struct{}) gpuUseAll := false + containerEnvs := make(map[string][]string) for _, container := range containers { for k, v := range container.Labels { @@ -148,7 +149,7 @@ func dockerSnapshotContainers(snapshot *portainer.DockerSnapshot, cli *client.Cl continue } - // Snapshot GPUs + // Snapshot GPUs and Env response, err := cli.ContainerInspect(context.Background(), container.ID) if err != nil && !snapshot.Swarm { return err @@ -167,6 +168,8 @@ func dockerSnapshotContainers(snapshot *portainer.DockerSnapshot, cli *client.Cl continue } + containerEnvs[container.ID] = response.Config.Env + var gpuOptions *_container.DeviceRequest for _, deviceRequest := range response.HostConfig.Resources.DeviceRequests { @@ -206,7 +209,7 @@ func dockerSnapshotContainers(snapshot *portainer.DockerSnapshot, cli *client.Cl snapshot.StackCount += len(stacks) for _, container := range containers { - snapshot.SnapshotRaw.Containers = append(snapshot.SnapshotRaw.Containers, portainer.DockerContainerSnapshot{Container: container}) + snapshot.SnapshotRaw.Containers = append(snapshot.SnapshotRaw.Containers, portainer.DockerContainerSnapshot{Container: container, Env: containerEnvs[container.ID]}) } return nil