diff options
author | Giuseppe Scrivano <gscrivan@redhat.com> | 2022-08-08 14:29:13 +0200 |
---|---|---|
committer | Giuseppe Scrivano <gscrivan@redhat.com> | 2022-08-08 14:30:02 +0200 |
commit | 696ea7905ec2c7e1774aac1ddc056c3ba45d7ea9 (patch) | |
tree | ba2239ca52d9cb4c69e0ad237ed1be16981d9416 | |
parent | 635293ed149a6680c5999360ce39daf4625bfa92 (diff) | |
download | podman-696ea7905ec2c7e1774aac1ddc056c3ba45d7ea9.tar.gz podman-696ea7905ec2c7e1774aac1ddc056c3ba45d7ea9.tar.bz2 podman-696ea7905ec2c7e1774aac1ddc056c3ba45d7ea9.zip |
specgen: use sandbox id instead of name for annotation
use the sandbox id instead of the name for the
io.kubernetes.cri-o.SandboxID annotation used by gVisor.
Closes: https://github.com/containers/podman/issues/15223
[NO NEW TESTS NEEDED] it is specific to gVisor
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
-rw-r--r-- | pkg/specgen/generate/container.go | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/pkg/specgen/generate/container.go b/pkg/specgen/generate/container.go index 8cfac924b..20cacc10d 100644 --- a/pkg/specgen/generate/container.go +++ b/pkg/specgen/generate/container.go @@ -191,16 +191,24 @@ func CompleteSpec(ctx context.Context, r *libpod.Runtime, s *specgen.SpecGenerat // - "container" denotes the container should join the VM of the SandboxID // (the infra container) if len(s.Pod) > 0 { - annotations[ann.SandboxID] = s.Pod + p, err := r.LookupPod(s.Pod) + if err != nil { + return nil, err + } + sandboxID := p.ID() + if p.HasInfraContainer() { + infra, err := p.InfraContainer() + if err != nil { + return nil, err + } + sandboxID = infra.ID() + } + annotations[ann.SandboxID] = sandboxID annotations[ann.ContainerType] = ann.ContainerTypeContainer // Check if this is an init-ctr and if so, check if // the pod is running. we do not want to add init-ctrs to // a running pod because it creates confusion for us. if len(s.InitContainerType) > 0 { - p, err := r.LookupPod(s.Pod) - if err != nil { - return nil, err - } containerStatuses, err := p.Status() if err != nil { return nil, err |