Add support to ShmSize in Pods with Quadlet

This closes #22915

Signed-off-by: Odilon Sousa <osousa@redhat.com>
This commit is contained in:
Odilon Sousa
2024-12-30 12:33:00 -03:00
parent d3cd5098f0
commit d1a3f96cbf
4 changed files with 17 additions and 3 deletions

View File

@ -953,6 +953,7 @@ Valid options for `[Pod]` are listed below:
| PodName=name | --name=name | | PodName=name | --name=name |
| PublishPort=8080:80 | --publish 8080:80 | | PublishPort=8080:80 | --publish 8080:80 |
| ServiceName=name | Name the systemd unit `name.service` | | ServiceName=name | Name the systemd unit `name.service` |
| ShmSize=100m | --shm-size=100m |
| SubGIDMap=gtest | --subgidname=gtest | | SubGIDMap=gtest | --subgidname=gtest |
| SubUIDMap=utest | --subuidname=utest | | SubUIDMap=utest | --subuidname=utest |
| UIDMap=0:10000:10 | --uidmap=0:10000:10 | | UIDMap=0:10000:10 | --uidmap=0:10000:10 |
@ -1092,6 +1093,12 @@ Setting this key overrides this behavior by instructing Quadlet to use the provi
Note, the name should not include the `.service` file extension Note, the name should not include the `.service` file extension
### `ShmSize=`
Size of /dev/shm.
This is equivalent to the Podman `--shm-size` option and generally has the form `number[unit]`
### `SubGIDMap=` ### `SubGIDMap=`
Create the pod in a new user namespace using the map with name in the /etc/subgid file. Create the pod in a new user namespace using the map with name in the /etc/subgid file.

View File

@ -413,6 +413,7 @@ var (
KeyRemapUidSize: true, KeyRemapUidSize: true,
KeyRemapUsers: true, KeyRemapUsers: true,
KeyServiceName: true, KeyServiceName: true,
KeyShmSize: true,
KeySubGIDMap: true, KeySubGIDMap: true,
KeySubUIDMap: true, KeySubUIDMap: true,
KeyUIDMap: true, KeyUIDMap: true,
@ -1629,10 +1630,11 @@ func ConvertPod(podUnit *parser.UnitFile, name string, unitsInfoMap map[string]*
} }
stringsKeys := map[string]string{ stringsKeys := map[string]string{
KeyIP: "--ip", KeyIP: "--ip",
KeyIP6: "--ip6", KeyIP6: "--ip6",
KeyShmSize: "--shm-size",
} }
lookupAndAddAllStrings(podUnit, PodGroup, stringsKeys, execStartPre) lookupAndAddString(podUnit, PodGroup, stringsKeys, execStartPre)
allStringsKeys := map[string]string{ allStringsKeys := map[string]string{
KeyNetworkAlias: "--network-alias", KeyNetworkAlias: "--network-alias",

View File

@ -0,0 +1,4 @@
## assert-podman-pre-args "--shm-size" "5g"
[Pod]
ShmSize=5g

View File

@ -1042,6 +1042,7 @@ BOGUS=foo
Entry("Pod - Remap auto2", "remap-auto2.pod"), Entry("Pod - Remap auto2", "remap-auto2.pod"),
Entry("Pod - Remap keep-id", "remap-keep-id.pod"), Entry("Pod - Remap keep-id", "remap-keep-id.pod"),
Entry("Pod - Remap manual", "remap-manual.pod"), Entry("Pod - Remap manual", "remap-manual.pod"),
Entry("Pod - Shm Size", "shmsize.pod"),
) )
DescribeTable("Running expected warning quadlet test case", DescribeTable("Running expected warning quadlet test case",