diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2021-09-15 09:10:12 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-15 09:10:12 -0400 |
commit | 4b6ffda31c258aadcbc6171a7dd745d0fb17393c (patch) | |
tree | b05003f91e2f1fd73dd1cd945241d3d7188d2b5f /pkg/specgen/generate | |
parent | 4dd7bfdfaa3adf95af39fd45f74d49cea0c80064 (diff) | |
parent | 84005330aa3d25cf6134fffc1bf20354d4a3dd85 (diff) | |
download | podman-4b6ffda31c258aadcbc6171a7dd745d0fb17393c.tar.gz podman-4b6ffda31c258aadcbc6171a7dd745d0fb17393c.tar.bz2 podman-4b6ffda31c258aadcbc6171a7dd745d0fb17393c.zip |
Merge pull request #11409 from cdoern/podVolumes
Pod Volumes Support
Diffstat (limited to 'pkg/specgen/generate')
-rw-r--r-- | pkg/specgen/generate/container_create.go | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/pkg/specgen/generate/container_create.go b/pkg/specgen/generate/container_create.go index fbb229e1c..91230338e 100644 --- a/pkg/specgen/generate/container_create.go +++ b/pkg/specgen/generate/container_create.go @@ -28,15 +28,27 @@ func MakeContainer(ctx context.Context, rt *libpod.Runtime, s *specgen.SpecGener return nil, nil, nil, err } - // If joining a pod, retrieve the pod for use. + // If joining a pod, retrieve the pod for use, and its infra container var pod *libpod.Pod + var cont *libpod.Container + var config *libpod.ContainerConfig if s.Pod != "" { pod, err = rt.LookupPod(s.Pod) if err != nil { return nil, nil, nil, errors.Wrapf(err, "error retrieving pod %s", s.Pod) } + if pod.HasInfraContainer() { + cont, err = pod.InfraContainer() + if err != nil { + return nil, nil, nil, err + } + config = cont.Config() + } } + if config != nil && (len(config.NamedVolumes) > 0 || len(config.UserVolumes) > 0 || len(config.ImageVolumes) > 0 || len(config.OverlayVolumes) > 0) { + s.VolumesFrom = append(s.VolumesFrom, config.ID) + } // Set defaults for unset namespaces if s.PidNS.IsDefault() { defaultNS, err := GetDefaultNamespaceMode("pid", rtc, pod) |