mirror of
https://github.com/containers/podman.git
synced 2025-06-25 20:26:51 +08:00
Merge pull request #9512 from mheon/fix_9511
Fix parsing of Tmpfs field in compat create
This commit is contained in:
@ -311,6 +311,15 @@ func ContainerCreateToContainerCLIOpts(cc handlers.CreateContainerConfig, cgroup
|
|||||||
netInfo.CNINetworks = []string{string(cc.HostConfig.NetworkMode)}
|
netInfo.CNINetworks = []string{string(cc.HostConfig.NetworkMode)}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
parsedTmp := make([]string, 0, len(cc.HostConfig.Tmpfs))
|
||||||
|
for path, options := range cc.HostConfig.Tmpfs {
|
||||||
|
finalString := path
|
||||||
|
if options != "" {
|
||||||
|
finalString += ":" + options
|
||||||
|
}
|
||||||
|
parsedTmp = append(parsedTmp, finalString)
|
||||||
|
}
|
||||||
|
|
||||||
// Note: several options here are marked as "don't need". this is based
|
// Note: several options here are marked as "don't need". this is based
|
||||||
// on speculation by Matt and I. We think that these come into play later
|
// on speculation by Matt and I. We think that these come into play later
|
||||||
// like with start. We believe this is just a difference in podman/compat
|
// like with start. We believe this is just a difference in podman/compat
|
||||||
@ -367,7 +376,7 @@ func ContainerCreateToContainerCLIOpts(cc handlers.CreateContainerConfig, cgroup
|
|||||||
StorageOpt: stringMaptoArray(cc.HostConfig.StorageOpt),
|
StorageOpt: stringMaptoArray(cc.HostConfig.StorageOpt),
|
||||||
Sysctl: stringMaptoArray(cc.HostConfig.Sysctls),
|
Sysctl: stringMaptoArray(cc.HostConfig.Sysctls),
|
||||||
Systemd: "true", // podman default
|
Systemd: "true", // podman default
|
||||||
TmpFS: stringMaptoArray(cc.HostConfig.Tmpfs),
|
TmpFS: parsedTmp,
|
||||||
TTY: cc.Config.Tty,
|
TTY: cc.Config.Tty,
|
||||||
User: cc.Config.User,
|
User: cc.Config.User,
|
||||||
UserNS: string(cc.HostConfig.UsernsMode),
|
UserNS: string(cc.HostConfig.UsernsMode),
|
||||||
|
21
test/apiv2/44-mounts.at
Normal file
21
test/apiv2/44-mounts.at
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# -*- sh -*-
|
||||||
|
|
||||||
|
podman pull $IMAGE &>/dev/null
|
||||||
|
|
||||||
|
# Test various HostConfig options
|
||||||
|
tmpfs_name="/mytmpfs"
|
||||||
|
t POST containers/create?name=hostconfig_test '"Image":"'$IMAGE'","Cmd":["df"],"HostConfig":{"TmpFs":{"'$tmpfs_name'":"rw"}}' 201 \
|
||||||
|
.Id~[0-9a-f]\\{64\\}
|
||||||
|
cid=$(jq -r '.Id' <<<"$output")
|
||||||
|
|
||||||
|
# Prior to #9512, the tmpfs would be called '/mytmpfs=rw', with the '=rw'
|
||||||
|
t GET containers/${cid}/json 200 \
|
||||||
|
.HostConfig.Tmpfs[\"${tmpfs_name}\"]~rw,
|
||||||
|
|
||||||
|
# Run the container, verify output
|
||||||
|
t POST containers/${cid}/start '' 204
|
||||||
|
t POST containers/${cid}/wait '' 200
|
||||||
|
t GET containers/${cid}/logs?stdout=true 200
|
||||||
|
|
||||||
|
like "$(<$WORKDIR/curl.result.out)" ".* ${tmpfs_name}" \
|
||||||
|
"'df' output includes tmpfs name"
|
Reference in New Issue
Block a user