mirror of
https://github.com/containers/podman.git
synced 2025-12-08 06:39:05 +08:00
Option handling has become large and should be a shared function
Everytime we add a new option for create, we end up having to also add it to run, this makes it error prone. Moving these to the same function makes it easier to develop and prevents user mistakes. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> Closes: #975 Approved by: mheon
This commit is contained in:
committed by
Atomic Bot
parent
bb4db6d548
commit
82a948c04e
@@ -110,29 +110,17 @@ func createCmd(c *cli.Context) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
useImageVolumes := createConfig.ImageVolumeType == "bind"
|
||||
|
||||
runtimeSpec, err := cc.CreateConfigToOCISpec(createConfig)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
options, err := createConfig.GetContainerCreateOptions()
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "unable to parse new container options")
|
||||
}
|
||||
// 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))
|
||||
if createConfig.Rootfs != "" {
|
||||
options = append(options, libpod.WithRootFS(createConfig.Rootfs))
|
||||
return err
|
||||
}
|
||||
|
||||
ctr, err := runtime.NewContainer(ctx, runtimeSpec, options...)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user