mirror of
https://github.com/containers/podman
synced 2024-10-22 02:03:38 +00:00
Merge pull request #11966 from Luap99/panic
Fix panic in container create compat api
This commit is contained in:
commit
ac733032c1
|
@ -104,15 +104,18 @@ func ContainerCreateToContainerCLIOpts(cc handlers.CreateContainerConfig, rtc *c
|
|||
addField(&builder, "target", m.Target)
|
||||
addField(&builder, "ro", strconv.FormatBool(m.ReadOnly))
|
||||
addField(&builder, "consistency", string(m.Consistency))
|
||||
|
||||
// Map any specialized mount options that intersect between *Options and cli options
|
||||
switch m.Type {
|
||||
case mount.TypeBind:
|
||||
addField(&builder, "bind-propagation", string(m.BindOptions.Propagation))
|
||||
addField(&builder, "bind-nonrecursive", strconv.FormatBool(m.BindOptions.NonRecursive))
|
||||
if m.BindOptions != nil {
|
||||
addField(&builder, "bind-propagation", string(m.BindOptions.Propagation))
|
||||
addField(&builder, "bind-nonrecursive", strconv.FormatBool(m.BindOptions.NonRecursive))
|
||||
}
|
||||
case mount.TypeTmpfs:
|
||||
addField(&builder, "tmpfs-size", strconv.FormatInt(m.TmpfsOptions.SizeBytes, 10))
|
||||
addField(&builder, "tmpfs-mode", strconv.FormatUint(uint64(m.TmpfsOptions.Mode), 10))
|
||||
if m.TmpfsOptions != nil {
|
||||
addField(&builder, "tmpfs-size", strconv.FormatInt(m.TmpfsOptions.SizeBytes, 10))
|
||||
addField(&builder, "tmpfs-mode", strconv.FormatUint(uint64(m.TmpfsOptions.Mode), 10))
|
||||
}
|
||||
case mount.TypeVolume:
|
||||
// All current VolumeOpts are handled above
|
||||
// See vendor/github.com/containers/common/pkg/parse/parse.go:ValidateVolumeOpts()
|
||||
|
|
|
@ -379,3 +379,21 @@ t GET containers/$cid/json 200 \
|
|||
.HostConfig.Tmpfs['"/mnt/scratch"']~.*mode=755.*
|
||||
|
||||
t DELETE containers/$cid?v=true 204
|
||||
|
||||
# compat api: tmpfs without mount options
|
||||
payload='{"Mounts":[{"Type":"tmpfs","Target":"/mnt/scratch"}]}'
|
||||
t POST containers/create Image=$IMAGE HostConfig="$payload" 201 .Id~[0-9a-f]\\{64\\}
|
||||
cid=$(jq -r '.Id' <<<"$output")
|
||||
t GET containers/$cid/json 200 \
|
||||
.HostConfig.Tmpfs['"/mnt/scratch"']~.*tmpcopyup.* \
|
||||
|
||||
t DELETE containers/$cid?v=true 204
|
||||
|
||||
# compat api: bind mount without mount options
|
||||
payload='{"Mounts":[{"Type":"bind","Source":"/tmp","Target":"/mnt"}]}'
|
||||
t POST containers/create Image=$IMAGE HostConfig="$payload" 201 .Id~[0-9a-f]\\{64\\}
|
||||
cid=$(jq -r '.Id' <<<"$output")
|
||||
t GET containers/$cid/json 200 \
|
||||
.HostConfig.Binds[0]~/tmp:/mnt:.* \
|
||||
|
||||
t DELETE containers/$cid?v=true 204
|
||||
|
|
Loading…
Reference in a new issue