Skip to content

Commit

Permalink
CI: kube test: fix broken external-storage test
Browse files Browse the repository at this point in the history
I broke the kube external storage test in the course of my
safename PR: _write_test_yaml() with no command generated
a pod that did not trigger the conditions required for
this test.

Solution: run a container (top). Add new checks to prevent
this gap from happening again.

Signed-off-by: Ed Santiago <[email protected]>
  • Loading branch information
edsantiago committed Jul 29, 2024
1 parent 327266d commit 3969610
Showing 1 changed file with 18 additions and 4 deletions.
22 changes: 18 additions & 4 deletions test/system/700-play.bats
Original file line number Diff line number Diff line change
Expand Up @@ -411,16 +411,30 @@ _EOF
# Occasionally a remnant storage container is left behind which causes
# podman play kube --replace to fail. This tests created a conflicting
# storage container name using buildah to make sure --replace, still
# functions proplery by removing the storage container.
# functions properly by removing the storage container.
@test "podman kube play --replace external storage" {
_write_test_yaml
_write_test_yaml command="top"

run_podman play kube $TESTYAML
# Force removal of container

# Pod container exists
run_podman ps -a --format '=={{.Names}}=={{.Status}}=='
assert "$output" =~ "==${PODCTRNAME}==Up " "Pod container created"

# Force removal of container, and confirm that it no longer exists
run_podman rm --force -t0 $PODCTRNAME
assert "$output" = "$PODCTRNAME" "Confirmation that container was removed"
run_podman ps -a --external --format '=={{.Names}}=={{.Status}}=='
assert "$output" !~ "$PODCTRNAME" "Pod container gone"

# Create external container using buildah with same name
buildah from --name $PODCTRNAME $IMAGE
# --replace deletes the buildah container and replace it with new one
# Confirm that we now have an external (Storage) container by that name
run_podman ps -a --external --format '=={{.Names}}=={{.Status}}=='
assert "$output" =~ "==${PODCTRNAME}==Storage==" "Storage (external) container created"

# --replace deletes the buildah container and replace it with new one.
# Prior to #20025, this would fail with "container name is in use"
run_podman play kube --replace $TESTYAML

run_podman pod rm -t 0 -f $PODNAME
Expand Down

0 comments on commit 3969610

Please sign in to comment.