summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2018-09-13 17:33:07 -0400
committerAtomic Bot <atomic-devel@projectatomic.io>2018-09-21 19:06:12 +0000
commit09f506930c1c585b12e9ad89044528da23d2851a (patch)
tree54494746c618a4597d4c2a57299879565b1aaa6c
parent4f42fe2e9e35a01181031ddca07c044647d7bf04 (diff)
downloadpodman-09f506930c1c585b12e9ad89044528da23d2851a.tar.gz
podman-09f506930c1c585b12e9ad89044528da23d2851a.tar.bz2
podman-09f506930c1c585b12e9ad89044528da23d2851a.zip
Don't mount /dev/shm if the user told you --ipc=none
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> Closes: #1466 Approved by: mheon
-rw-r--r--cmd/podman/create.go12
-rw-r--r--pkg/spec/createconfig.go14
-rw-r--r--pkg/varlinkapi/containers_create.go1
3 files changed, 11 insertions, 16 deletions
diff --git a/cmd/podman/create.go b/cmd/podman/create.go
index 39f6076b9..ff912560b 100644
--- a/cmd/podman/create.go
+++ b/cmd/podman/create.go
@@ -528,17 +528,6 @@ func parseCreateOpts(ctx context.Context, c *cli.Context, runtime *libpod.Runtim
}
}
- shmDir := ""
- if ipcMode.IsHost() {
- shmDir = "/dev/shm"
- } else if ipcMode.IsContainer() {
- ctr, err := runtime.LookupContainer(ipcMode.Container())
- if err != nil {
- return nil, errors.Wrapf(err, "container %q not found", ipcMode.Container())
- }
- shmDir = ctr.ShmDir()
- }
-
// USER
user := c.String("user")
if user == "" {
@@ -775,7 +764,6 @@ func parseCreateOpts(ctx context.Context, c *cli.Context, runtime *libpod.Runtim
Ulimit: c.StringSlice("ulimit"),
},
Rm: c.Bool("rm"),
- ShmDir: shmDir,
StopSignal: stopSignal,
StopTimeout: c.Uint("stop-timeout"),
Sysctl: sysctl,
diff --git a/pkg/spec/createconfig.go b/pkg/spec/createconfig.go
index 518ea5731..a9c7d2967 100644
--- a/pkg/spec/createconfig.go
+++ b/pkg/spec/createconfig.go
@@ -112,8 +112,7 @@ type CreateConfig struct {
Quiet bool //quiet
ReadOnlyRootfs bool //read-only
Resources CreateResourceConfig
- Rm bool //rm
- ShmDir string
+ Rm bool //rm
StopSignal syscall.Signal // stop-signal
StopTimeout uint // stop-timeout
Sysctl map[string]string //sysctl
@@ -447,7 +446,16 @@ func (c *CreateConfig) GetContainerCreateOptions(runtime *libpod.Runtime) ([]lib
options = append(options, libpod.WithConmonPidFile(c.ConmonPidFile))
options = append(options, libpod.WithLabels(c.Labels))
options = append(options, libpod.WithUser(c.User))
- options = append(options, libpod.WithShmDir(c.ShmDir))
+ if c.IpcMode.IsHost() {
+ options = append(options, libpod.WithShmDir("/dev/shm"))
+
+ } else if c.IpcMode.IsContainer() {
+ ctr, err := runtime.LookupContainer(c.IpcMode.Container())
+ if err != nil {
+ return nil, errors.Wrapf(err, "container %q not found", c.IpcMode.Container())
+ }
+ options = append(options, libpod.WithShmDir(ctr.ShmDir()))
+ }
options = append(options, libpod.WithShmSize(c.Resources.ShmSize))
options = append(options, libpod.WithGroups(c.GroupAdd))
options = append(options, libpod.WithIDMappings(*c.IDMappings))
diff --git a/pkg/varlinkapi/containers_create.go b/pkg/varlinkapi/containers_create.go
index 843d7a5ba..ca1a57048 100644
--- a/pkg/varlinkapi/containers_create.go
+++ b/pkg/varlinkapi/containers_create.go
@@ -202,7 +202,6 @@ func varlinkCreateToCreateConfig(ctx context.Context, create iopodman.Create, ru
Ulimit: create.Resources.Ulimit,
},
Rm: create.Rm,
- ShmDir: create.Shm_dir,
StopSignal: stopSignal,
StopTimeout: uint(create.Stop_timeout),
Sysctl: create.Sys_ctl,