diff options
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/spec/createconfig.go | 21 | ||||
-rw-r--r-- | pkg/varlinkapi/containers_create.go | 12 |
2 files changed, 22 insertions, 11 deletions
diff --git a/pkg/spec/createconfig.go b/pkg/spec/createconfig.go index 36a6e83f2..205e08c57 100644 --- a/pkg/spec/createconfig.go +++ b/pkg/spec/createconfig.go @@ -413,6 +413,27 @@ func (c *CreateConfig) GetContainerCreateOptions() ([]libpod.CtrCreateOption, er } options = append(options, libpod.WithPrivileged(c.Privileged)) + + useImageVolumes := c.ImageVolumeType == "bind" + // Gather up the options for NewContainer which consist of With... funcs + options = append(options, libpod.WithRootFSFromImage(c.ImageID, c.Image, useImageVolumes)) + options = append(options, libpod.WithSELinuxLabels(c.ProcessLabel, c.MountLabel)) + 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)) + options = append(options, libpod.WithShmSize(c.Resources.ShmSize)) + options = append(options, libpod.WithGroups(c.GroupAdd)) + options = append(options, libpod.WithIDMappings(*c.IDMappings)) + if c.Rootfs != "" { + options = append(options, libpod.WithRootFS(c.Rootfs)) + } + // Default used if not overridden on command line + + if c.CgroupParent != "" { + options = append(options, libpod.WithCgroupParent(c.CgroupParent)) + } + return options, nil } diff --git a/pkg/varlinkapi/containers_create.go b/pkg/varlinkapi/containers_create.go index 40bd92e9a..8268a3fdd 100644 --- a/pkg/varlinkapi/containers_create.go +++ b/pkg/varlinkapi/containers_create.go @@ -41,7 +41,6 @@ func (i *LibpodAPI) CreateContainer(call ioprojectatomicpodman.VarlinkCall, conf if err != nil { return call.ReplyErrorOccurred(err.Error()) } - useImageVolumes := createConfig.ImageVolumeType == "bind" runtimeSpec, err := cc.CreateConfigToOCISpec(createConfig) if err != nil { @@ -52,16 +51,7 @@ func (i *LibpodAPI) CreateContainer(call ioprojectatomicpodman.VarlinkCall, conf if err != nil { return call.ReplyErrorOccurred(err.Error()) } - // Gather up the options for NewContainer which consist of With... funcs - options = append(options, libpod.WithRootFSFromImage(createConfig.ImageID, createConfig.Image, useImageVolumes)) - options = append(options, libpod.WithSELinuxLabels(createConfig.ProcessLabel, createConfig.MountLabel)) - options = append(options, libpod.WithConmonPidFile(createConfig.ConmonPidFile)) - options = append(options, libpod.WithLabels(createConfig.Labels)) - options = append(options, libpod.WithUser(createConfig.User)) - options = append(options, libpod.WithShmDir(createConfig.ShmDir)) - options = append(options, libpod.WithShmSize(createConfig.Resources.ShmSize)) - options = append(options, libpod.WithGroups(createConfig.GroupAdd)) - options = append(options, libpod.WithIDMappings(*createConfig.IDMappings)) + ctr, err := runtime.NewContainer(ctx, runtimeSpec, options...) if err != nil { return call.ReplyErrorOccurred(err.Error()) |