Add support for IP in quadlet .pod files

Signed-off-by: Jerome degroote <jeromedu59230@gmx.fr>
This commit is contained in:
Jerome Degroote 2024-08-22 12:27:14 +02:00
parent 3c2a2f0409
commit d55b12f70b
4 changed files with 31 additions and 0 deletions

View File

@ -880,6 +880,8 @@ Valid options for `[Pod]` are listed below:
| ContainersConfModule=/etc/nvd\.conf | --module=/etc/nvd\.conf |
| GIDMap=0:10000:10 | --gidmap=0:10000:10 |
| GlobalArgs=--log-level=debug | --log-level=debug |
| IP=192.5.0.1 | --ip 192.5.0.1 |
| IP6=2001:db8::1 | --ip6 2001:db8::1 |
| Network=host | --network host |
| NetworkAlias=name | --network-alias name |
| PodmanArgs=\-\-cpus=2 | --cpus=2 |
@ -919,6 +921,16 @@ escaped to allow inclusion of whitespace and other control characters.
This key can be listed multiple times.
### `IP=`
Specify a static IPv4 address for the pod, for example **10.88.64.128**.
Equivalent to the Podman `--ip` option.
### `IP6=`
Specify a static IPv6 address for the pod, for example **fd46:db93:aa76:ac37::10**.
Equivalent to the Podman `--ip6` option.
### `Network=`
Specify a custom network for the pod.

View File

@ -384,6 +384,8 @@ var (
KeyContainersConfModule: true,
KeyGIDMap: true,
KeyGlobalArgs: true,
KeyIP: true,
KeyIP6: true,
KeyNetwork: true,
KeyNetworkAlias: true,
KeyPodName: true,
@ -1679,6 +1681,16 @@ func ConvertPod(podUnit *parser.UnitFile, name string, unitsInfoMap map[string]*
execStartPre.addf("--infra-name=%s-infra", podName)
execStartPre.addf("--name=%s", podName)
ip, ok := podUnit.Lookup(PodGroup, KeyIP)
if ok && len(ip) > 0 {
execStartPre.addf("--ip=%s", ip)
}
ip6, ok := podUnit.Lookup(PodGroup, KeyIP6)
if ok && len(ip6) > 0 {
execStartPre.addf("--ip6=%s", ip6)
}
handlePodmanArgs(podUnit, PodGroup, execStartPre)
service.AddCmdline(ServiceGroup, "ExecStartPre", execStartPre.Args)

6
test/e2e/quadlet/ip.pod Normal file
View File

@ -0,0 +1,6 @@
## assert-podman-pre-args "--ip=10.88.64.128"
## assert-podman-pre-args "--ip6=fd46:db93:aa76:ac37::10"
[Pod]
IP=10.88.64.128
IP6=fd46:db93:aa76:ac37::10

View File

@ -1000,6 +1000,7 @@ BOGUS=foo
Entry("Build - Variant Key", "variant.build"),
Entry("Pod - Basic", "basic.pod"),
Entry("Pod - IP", "ip.pod"),
Entry("Pod - Name", "name.pod"),
Entry("Pod - Network", "network.pod"),
Entry("Pod - PodmanArgs", "podmanargs.pod"),