summaryrefslogtreecommitdiff
path: root/pkg/specgen/generate/container_create.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-09-15 09:10:12 -0400
committerGitHub <noreply@github.com>2021-09-15 09:10:12 -0400
commit4b6ffda31c258aadcbc6171a7dd745d0fb17393c (patch)
treeb05003f91e2f1fd73dd1cd945241d3d7188d2b5f /pkg/specgen/generate/container_create.go
parent4dd7bfdfaa3adf95af39fd45f74d49cea0c80064 (diff)
parent84005330aa3d25cf6134fffc1bf20354d4a3dd85 (diff)
downloadpodman-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/container_create.go')
-rw-r--r--pkg/specgen/generate/container_create.go14
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)