1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-23 15:29:42 +02:00

fix(edge): missing env var in async agent docker snapshot [BE-11709] (#625)

This commit is contained in:
Oscar Zhou 2025-04-11 08:26:11 +12:00 committed by GitHub
parent 0ca9321db1
commit 823f2a7991

View file

@ -136,6 +136,7 @@ func dockerSnapshotContainers(snapshot *portainer.DockerSnapshot, cli *client.Cl
stacks := make(map[string]struct{}) stacks := make(map[string]struct{})
gpuUseSet := make(map[string]struct{}) gpuUseSet := make(map[string]struct{})
gpuUseAll := false gpuUseAll := false
containerEnvs := make(map[string][]string)
for _, container := range containers { for _, container := range containers {
for k, v := range container.Labels { for k, v := range container.Labels {
@ -148,7 +149,7 @@ func dockerSnapshotContainers(snapshot *portainer.DockerSnapshot, cli *client.Cl
continue continue
} }
// Snapshot GPUs // Snapshot GPUs and Env
response, err := cli.ContainerInspect(context.Background(), container.ID) response, err := cli.ContainerInspect(context.Background(), container.ID)
if err != nil && !snapshot.Swarm { if err != nil && !snapshot.Swarm {
return err return err
@ -167,6 +168,8 @@ func dockerSnapshotContainers(snapshot *portainer.DockerSnapshot, cli *client.Cl
continue continue
} }
containerEnvs[container.ID] = response.Config.Env
var gpuOptions *_container.DeviceRequest var gpuOptions *_container.DeviceRequest
for _, deviceRequest := range response.HostConfig.Resources.DeviceRequests { for _, deviceRequest := range response.HostConfig.Resources.DeviceRequests {
@ -206,7 +209,7 @@ func dockerSnapshotContainers(snapshot *portainer.DockerSnapshot, cli *client.Cl
snapshot.StackCount += len(stacks) snapshot.StackCount += len(stacks)
for _, container := range containers { 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 return nil