mirror of
https://github.com/containers/podman.git
synced 2025-10-18 03:33:32 +08:00
Merge pull request #25899 from ygalblum/quadlet-unit-deps
Quadlet - translate dependencies on other quadlet units
This commit is contained in:
10
test/e2e/quadlet/dependent.build
Normal file
10
test/e2e/quadlet/dependent.build
Normal file
@ -0,0 +1,10 @@
|
||||
## assert-key-is "Unit" "Requires" "basic-build.service basic.service basic-image.service basic.service basic-network.service basic-pod.service basic-volume.service"
|
||||
## assert-key-is-regex "Unit" "After" "network-online.target|podman-user-wait-network-online.service" "basic-build.service basic.service basic-image.service basic.service basic-network.service basic-pod.service basic-volume.service"
|
||||
|
||||
[Unit]
|
||||
After=basic.build basic.container basic.image basic.kube basic.network basic.pod basic.volume
|
||||
Requires=basic.build basic.container basic.image basic.kube basic.network basic.pod basic.volume
|
||||
|
||||
[Build]
|
||||
ImageTag=localhost/imagename
|
||||
SetWorkingDirectory=unit
|
9
test/e2e/quadlet/dependent.container
Normal file
9
test/e2e/quadlet/dependent.container
Normal file
@ -0,0 +1,9 @@
|
||||
## assert-key-is "Unit" "Requires" "basic-build.service basic.service basic-image.service basic.service basic-network.service basic-pod.service basic-volume.service"
|
||||
## assert-key-is-regex "Unit" "After" "network-online.target|podman-user-wait-network-online.service" "basic-build.service basic.service basic-image.service basic.service basic-network.service basic-pod.service basic-volume.service"
|
||||
|
||||
[Unit]
|
||||
After=basic.build basic.container basic.image basic.kube basic.network basic.pod basic.volume
|
||||
Requires=basic.build basic.container basic.image basic.kube basic.network basic.pod basic.volume
|
||||
|
||||
[Container]
|
||||
Image=localhost/imagename
|
9
test/e2e/quadlet/dependent.error.container
Normal file
9
test/e2e/quadlet/dependent.error.container
Normal file
@ -0,0 +1,9 @@
|
||||
## assert-failed
|
||||
## assert-stderr-contains "unable to translate dependency for basic.container"
|
||||
|
||||
[Unit]
|
||||
After=basic.container
|
||||
Requires=basic.container
|
||||
|
||||
[Container]
|
||||
Image=localhost/imagename
|
9
test/e2e/quadlet/dependent.image
Normal file
9
test/e2e/quadlet/dependent.image
Normal file
@ -0,0 +1,9 @@
|
||||
## assert-key-is "Unit" "Requires" "basic-build.service basic.service basic-image.service basic.service basic-network.service basic-pod.service basic-volume.service"
|
||||
## assert-key-is-regex "Unit" "After" "network-online.target|podman-user-wait-network-online.service" "basic-build.service basic.service basic-image.service basic.service basic-network.service basic-pod.service basic-volume.service"
|
||||
|
||||
[Unit]
|
||||
After=basic.build basic.container basic.image basic.kube basic.network basic.pod basic.volume
|
||||
Requires=basic.build basic.container basic.image basic.kube basic.network basic.pod basic.volume
|
||||
|
||||
[Image]
|
||||
Image=localhost/imagename
|
9
test/e2e/quadlet/dependent.kube
Normal file
9
test/e2e/quadlet/dependent.kube
Normal file
@ -0,0 +1,9 @@
|
||||
## assert-key-is "Unit" "Requires" "basic-build.service basic.service basic-image.service basic.service basic-network.service basic-pod.service basic-volume.service"
|
||||
## assert-key-is-regex "Unit" "After" "network-online.target|podman-user-wait-network-online.service" "basic-build.service basic.service basic-image.service basic.service basic-network.service basic-pod.service basic-volume.service"
|
||||
|
||||
[Unit]
|
||||
After=basic.build basic.container basic.image basic.kube basic.network basic.pod basic.volume
|
||||
Requires=basic.build basic.container basic.image basic.kube basic.network basic.pod basic.volume
|
||||
|
||||
[Kube]
|
||||
Yaml=deployment.yml
|
8
test/e2e/quadlet/dependent.network
Normal file
8
test/e2e/quadlet/dependent.network
Normal file
@ -0,0 +1,8 @@
|
||||
## assert-key-is "Unit" "Requires" "basic-build.service basic.service basic-image.service basic.service basic-network.service basic-pod.service basic-volume.service"
|
||||
## assert-key-is-regex "Unit" "After" "network-online.target|podman-user-wait-network-online.service" "basic-build.service basic.service basic-image.service basic.service basic-network.service basic-pod.service basic-volume.service"
|
||||
|
||||
[Unit]
|
||||
After=basic.build basic.container basic.image basic.kube basic.network basic.pod basic.volume
|
||||
Requires=basic.build basic.container basic.image basic.kube basic.network basic.pod basic.volume
|
||||
|
||||
[Network]
|
8
test/e2e/quadlet/dependent.pod
Normal file
8
test/e2e/quadlet/dependent.pod
Normal file
@ -0,0 +1,8 @@
|
||||
## assert-key-is "Unit" "Requires" "basic-build.service basic.service basic-image.service basic.service basic-network.service basic-pod.service basic-volume.service"
|
||||
## assert-key-is-regex "Unit" "After" "network-online.target|podman-user-wait-network-online.service" "basic-build.service basic.service basic-image.service basic.service basic-network.service basic-pod.service basic-volume.service"
|
||||
|
||||
[Unit]
|
||||
After=basic.build basic.container basic.image basic.kube basic.network basic.pod basic.volume
|
||||
Requires=basic.build basic.container basic.image basic.kube basic.network basic.pod basic.volume
|
||||
|
||||
[Pod]
|
8
test/e2e/quadlet/dependent.volume
Normal file
8
test/e2e/quadlet/dependent.volume
Normal file
@ -0,0 +1,8 @@
|
||||
## assert-key-is "Unit" "Requires" "basic-build.service basic.service basic-image.service basic.service basic-network.service basic-pod.service basic-volume.service"
|
||||
## assert-key-is-regex "Unit" "After" "network-online.target|podman-user-wait-network-online.service" "basic-build.service basic.service basic-image.service basic.service basic-network.service basic-pod.service basic-volume.service"
|
||||
|
||||
[Unit]
|
||||
After=basic.build basic.container basic.image basic.kube basic.network basic.pod basic.volume
|
||||
Requires=basic.build basic.container basic.image basic.kube basic.network basic.pod basic.volume
|
||||
|
||||
[Volume]
|
@ -1103,6 +1103,7 @@ BOGUS=foo
|
||||
Entry("subidmapping-with-remap.container", "subidmapping-with-remap.container", "converting \"subidmapping-with-remap.container\": deprecated Remap keys are set along with explicit mapping keys"),
|
||||
Entry("userns-with-remap.container", "userns-with-remap.container", "converting \"userns-with-remap.container\": deprecated Remap keys are set along with explicit mapping keys"),
|
||||
Entry("reloadboth.container", "reloadboth.container", "converting \"reloadboth.container\": ReloadCmd and ReloadSignal are mutually exclusive but both are set"),
|
||||
Entry("dependent.error.container", "dependent.error.container", "converting \"dependent.error.container\": unable to translate dependency for basic.container"),
|
||||
|
||||
Entry("image-no-image.volume", "image-no-image.volume", "converting \"image-no-image.volume\": the key Image is mandatory when using the image driver"),
|
||||
Entry("Volume - Quadlet image (.build) not found", "build-not-found.quadlet.volume", "converting \"build-not-found.quadlet.volume\": requested Quadlet image not-found.build was not found"),
|
||||
@ -1158,26 +1159,119 @@ BOGUS=foo
|
||||
Entry("Container - Reuse another named container's network", "network.reuse.name.container", []string{"name.container"}),
|
||||
Entry("Container - Reuse another container's network", "a.network.reuse.container", []string{"basic.container"}),
|
||||
Entry("Container - Reuse another named container's network", "a.network.reuse.name.container", []string{"name.container"}),
|
||||
Entry(
|
||||
"Container - Dependency between quadlet units",
|
||||
"dependent.container",
|
||||
[]string{
|
||||
"basic.build",
|
||||
"basic.container",
|
||||
"basic.image",
|
||||
"basic.kube",
|
||||
"basic.network",
|
||||
"basic.pod",
|
||||
"basic.volume",
|
||||
},
|
||||
),
|
||||
|
||||
Entry("Volume - Quadlet image (.build)", "build.quadlet.volume", []string{"basic.build"}),
|
||||
Entry("Volume - Quadlet image (.image)", "image.quadlet.volume", []string{"basic.image"}),
|
||||
Entry("Volume - Quadlet image (.build) overriding service name", "build.quadlet.servicename.volume", []string{"service-name.build"}),
|
||||
Entry("Volume - Quadlet image (.image) overriding service name", "image.quadlet.servicename.volume", []string{"service-name.image"}),
|
||||
Entry(
|
||||
"Volume - Dependency between quadlet units",
|
||||
"dependent.volume",
|
||||
[]string{
|
||||
"basic.build",
|
||||
"basic.container",
|
||||
"basic.image",
|
||||
"basic.kube",
|
||||
"basic.network",
|
||||
"basic.pod",
|
||||
"basic.volume",
|
||||
},
|
||||
),
|
||||
|
||||
Entry("Kube - Quadlet Network", "network.quadlet.kube", []string{"basic.network"}),
|
||||
Entry("Kube - Quadlet Network overriding service name", "network.quadlet.servicename.kube", []string{"service-name.network"}),
|
||||
Entry(
|
||||
"Kube - Dependency between quadlet units",
|
||||
"dependent.kube",
|
||||
[]string{
|
||||
"basic.build",
|
||||
"basic.container",
|
||||
"basic.image",
|
||||
"basic.kube",
|
||||
"basic.network",
|
||||
"basic.pod",
|
||||
"basic.volume",
|
||||
},
|
||||
),
|
||||
|
||||
Entry("Build - Network Key quadlet", "network.quadlet.build", []string{"basic.network"}),
|
||||
Entry("Build - Volume Key", "volume.build", []string{"basic.volume"}),
|
||||
Entry("Build - Volume Key quadlet", "volume.quadlet.build", []string{"basic.volume"}),
|
||||
Entry("Build - Network Key quadlet overriding service name", "network.quadlet.servicename.build", []string{"service-name.network"}),
|
||||
Entry("Build - Volume Key quadlet overriding service name", "volume.quadlet.servicename.build", []string{"service-name.volume"}),
|
||||
Entry(
|
||||
"Build - Dependency between quadlet units",
|
||||
"dependent.build",
|
||||
[]string{
|
||||
"basic.build",
|
||||
"basic.container",
|
||||
"basic.image",
|
||||
"basic.kube",
|
||||
"basic.network",
|
||||
"basic.pod",
|
||||
"basic.volume",
|
||||
},
|
||||
),
|
||||
|
||||
Entry("Pod - Quadlet Network", "network.quadlet.pod", []string{"basic.network"}),
|
||||
Entry("Pod - Quadlet Volume", "volume.pod", []string{"basic.volume"}),
|
||||
Entry("Pod - Quadlet Network overriding service name", "network.servicename.quadlet.pod", []string{"service-name.network"}),
|
||||
Entry("Pod - Quadlet Volume overriding service name", "volume.servicename.pod", []string{"service-name.volume"}),
|
||||
Entry("Pod - Do not autostart a container with pod", "startwithpod.pod", []string{"startwithpod_no.container", "startwithpod_yes.container"}),
|
||||
Entry(
|
||||
"Pod - Dependency between quadlet units",
|
||||
"dependent.pod",
|
||||
[]string{
|
||||
"basic.build",
|
||||
"basic.container",
|
||||
"basic.image",
|
||||
"basic.kube",
|
||||
"basic.network",
|
||||
"basic.pod",
|
||||
"basic.volume",
|
||||
},
|
||||
),
|
||||
|
||||
Entry(
|
||||
"Image - Dependency between quadlet units",
|
||||
"dependent.image",
|
||||
[]string{
|
||||
"basic.build",
|
||||
"basic.container",
|
||||
"basic.image",
|
||||
"basic.kube",
|
||||
"basic.network",
|
||||
"basic.pod",
|
||||
"basic.volume",
|
||||
},
|
||||
),
|
||||
|
||||
Entry(
|
||||
"Network - Dependency between quadlet units",
|
||||
"dependent.network",
|
||||
[]string{
|
||||
"basic.build",
|
||||
"basic.container",
|
||||
"basic.image",
|
||||
"basic.kube",
|
||||
"basic.network",
|
||||
"basic.pod",
|
||||
"basic.volume",
|
||||
},
|
||||
),
|
||||
)
|
||||
|
||||
})
|
||||
|
Reference in New Issue
Block a user