mirror of
https://github.com/containers/podman.git
synced 2025-12-05 12:52:12 +08:00
Quadlet - add support for KubeDownForce
Allow users to set --force for Stop command Add doc and tests Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
This commit is contained in:
8
test/e2e/quadlet/downforce.kube
Normal file
8
test/e2e/quadlet/downforce.kube
Normal file
@@ -0,0 +1,8 @@
|
||||
## assert-podman-stop-post-args "kube"
|
||||
## assert-podman-stop-post-args "down"
|
||||
## assert-podman-stop-post-args "--force"
|
||||
## assert-podman-stop-post-final-args-regex .*/podman_test.*/quadlet/deployment.yml
|
||||
|
||||
[Kube]
|
||||
Yaml=deployment.yml
|
||||
KubeDownForce=true
|
||||
@@ -765,6 +765,7 @@ BOGUS=foo
|
||||
Entry("Kube - global args", "globalargs.kube", 0, ""),
|
||||
Entry("Kube - Containers Conf Modules", "containersconfmodule.kube", 0, ""),
|
||||
Entry("Kube - Service Type=oneshot", "oneshot.kube", 0, ""),
|
||||
Entry("Kube - Down force", "downforce.kube", 0, ""),
|
||||
|
||||
Entry("Network - Basic", "basic.network", 0, ""),
|
||||
Entry("Network - Disable DNS", "disable-dns.network", 0, ""),
|
||||
|
||||
@@ -1246,4 +1246,83 @@ EOF
|
||||
run_podman rmi --ignore $(pause_image)
|
||||
}
|
||||
|
||||
@test "quadlet - kube down force" {
|
||||
local test_random_string=$(random_string)
|
||||
|
||||
local quadlet_kube_volume_name=test-volume_$test_random_string
|
||||
local pod_name="test_pod_$test_random_string"
|
||||
local container_name="test"
|
||||
local quadlet_kube_pod_yaml_file=$PODMAN_TMPDIR/pod_$test_random_string.yaml
|
||||
cat > $quadlet_kube_pod_yaml_file <<EOF
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: $quadlet_kube_volume_name
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
labels:
|
||||
app: test
|
||||
name: $pod_name
|
||||
spec:
|
||||
containers:
|
||||
- command:
|
||||
- "sh"
|
||||
args:
|
||||
- "-c"
|
||||
- "echo STARTED CONTAINER; top -b"
|
||||
image: $IMAGE
|
||||
name: $container_name
|
||||
volumeMounts:
|
||||
- name: storage
|
||||
mountPath: /mnt/storage
|
||||
volumes:
|
||||
- name: storage
|
||||
persistentVolumeClaim:
|
||||
claimName: $quadlet_kube_volume_name
|
||||
EOF
|
||||
|
||||
local quadlet_kube_pod_unit_file=$PODMAN_TMPDIR/pod_$test_random_string.kube
|
||||
cat > $quadlet_kube_pod_unit_file <<EOF
|
||||
[Kube]
|
||||
Yaml=$quadlet_kube_pod_yaml_file
|
||||
KubeDownForce=true
|
||||
EOF
|
||||
|
||||
# Have quadlet create the systemd unit file for the pod unit
|
||||
run_quadlet "$quadlet_kube_pod_unit_file" "$quadlet_tmpdir"
|
||||
local pod_service=$QUADLET_SERVICE_NAME
|
||||
|
||||
# Volume should not exist
|
||||
run_podman 1 volume exists ${quadlet_kube_volume_name}
|
||||
|
||||
service_setup $pod_service
|
||||
|
||||
# Volume should exist
|
||||
run_podman volume exists ${quadlet_kube_volume_name}
|
||||
|
||||
run_podman container inspect --format "{{(index .Mounts 0).Type}}" $pod_name-$container_name
|
||||
assert "$output" = "volume" \
|
||||
"quadlet - kube oneshot: volume .Type"
|
||||
|
||||
run_podman container inspect --format "{{(index .Mounts 0).Name}}" $pod_name-$container_name
|
||||
assert "$output" = "$quadlet_kube_volume_name" \
|
||||
"quadlet - kube oneshot: volume .Name"
|
||||
|
||||
# Shutdown the service
|
||||
service_cleanup $pod_service failed
|
||||
|
||||
# Volume should not exist
|
||||
run_podman 1 volume exists ${quadlet_kube_volume_name}
|
||||
run_podman rmi --ignore $(pause_image)
|
||||
}
|
||||
|
||||
# vim: filetype=sh
|
||||
|
||||
Reference in New Issue
Block a user