mirror of
https://github.com/containers/podman.git
synced 2026-08-07 04:43:04 -04:00
Merge pull request #14301 from rhatdan/volume
Support setting image_volume_mode in containers.conf
This commit is contained in:
7 files changed
+73
-44
No files matched your search
@@ -18,20 +18,5 @@ func validate(c *entities.ContainerCreateOptions) error {
|
||||
return err
|
||||
}
|
||||
|
||||
var imageVolType = map[string]string{
|
||||
"bind": "",
|
||||
"tmpfs": "",
|
||||
"ignore": "",
|
||||
}
|
||||
if _, ok := imageVolType[c.ImageVolume]; !ok {
|
||||
switch {
|
||||
case c.IsInfra:
|
||||
c.ImageVolume = "bind"
|
||||
case c.IsClone: // the image volume type will be deduced later from the container we are cloning
|
||||
return nil
|
||||
default:
|
||||
return errors.Errorf("invalid image-volume type %q. Pick one of bind, tmpfs, or ignore", c.ImageVolume)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
return config.ValidateImageVolumeMode(c.ImageVolume)
|
||||
}
|
||||
+12
-10
@@ -229,9 +229,11 @@ func setNamespaces(s *specgen.SpecGenerator, c *entities.ContainerCreateOptions)
|
||||
}
|
||||
|
||||
func FillOutSpecGen(s *specgen.SpecGenerator, c *entities.ContainerCreateOptions, args []string) error {
|
||||
var (
|
||||
err error
|
||||
)
|
||||
rtc, err := config.Default()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// validate flags as needed
|
||||
if err := validate(c); err != nil {
|
||||
return err
|
||||
@@ -479,8 +481,13 @@ func FillOutSpecGen(s *specgen.SpecGenerator, c *entities.ContainerCreateOptions
|
||||
if len(s.HostUsers) == 0 || len(c.HostUsers) != 0 {
|
||||
s.HostUsers = c.HostUsers
|
||||
}
|
||||
if len(s.ImageVolumeMode) == 0 || len(c.ImageVolume) != 0 {
|
||||
s.ImageVolumeMode = c.ImageVolume
|
||||
if len(c.ImageVolume) != 0 {
|
||||
if len(s.ImageVolumeMode) == 0 {
|
||||
s.ImageVolumeMode = c.ImageVolume
|
||||
}
|
||||
}
|
||||
if len(s.ImageVolumeMode) == 0 {
|
||||
s.ImageVolumeMode = rtc.Engine.ImageVolumeMode
|
||||
}
|
||||
if s.ImageVolumeMode == "bind" {
|
||||
s.ImageVolumeMode = "anonymous"
|
||||
@@ -550,11 +557,6 @@ func FillOutSpecGen(s *specgen.SpecGenerator, c *entities.ContainerCreateOptions
|
||||
s.CgroupsMode = c.CgroupsMode
|
||||
}
|
||||
if s.CgroupsMode == "" {
|
||||
rtc, err := config.Default()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
s.CgroupsMode = rtc.Cgroups()
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user