github.com/kata-containers/tests@v0.0.0-20240307153542-772105b56064/integration/kubernetes/k8s-liveness-probes.bats (about) 1 #!/usr/bin/env bats 2 # 3 # Copyright (c) 2018 Intel Corporation 4 # 5 # SPDX-License-Identifier: Apache-2.0 6 # 7 8 load "${BATS_TEST_DIRNAME}/../../.ci/lib.sh" 9 load "${BATS_TEST_DIRNAME}/tests_common.sh" 10 11 setup() { 12 sleep_liveness=20 13 agnhost_name=$(get_test_version "container_images.agnhost.name") 14 agnhost_version=$(get_test_version "container_images.agnhost.version") 15 16 get_pod_config_dir 17 } 18 19 @test "Liveness probe" { 20 pod_name="liveness-exec" 21 22 # Create pod 23 kubectl create -f "${pod_config_dir}/pod-liveness.yaml" 24 25 # Check pod creation 26 kubectl wait --for=condition=Ready --timeout=$timeout pod "$pod_name" 27 28 # Check liveness probe returns a success code 29 kubectl describe pod "$pod_name" | grep -E "Liveness|#success=1" 30 31 # Sleep necessary to check liveness probe returns a failure code 32 sleep "$sleep_liveness" 33 kubectl describe pod "$pod_name" | grep "Liveness probe failed" 34 } 35 36 @test "Liveness http probe" { 37 pod_name="liveness-http" 38 39 # Create pod 40 sed -e "s#\${agnhost_image}#${agnhost_name}:${agnhost_version}#" \ 41 "${pod_config_dir}/pod-http-liveness.yaml" |\ 42 kubectl create -f - 43 44 # Check pod creation 45 kubectl wait --for=condition=Ready --timeout=$timeout pod "$pod_name" 46 47 # Check liveness probe returns a success code 48 kubectl describe pod "$pod_name" | grep -E "Liveness|#success=1" 49 50 # Sleep necessary to check liveness probe returns a failure code 51 sleep "$sleep_liveness" 52 kubectl describe pod "$pod_name" | grep "Started container" 53 } 54 55 56 @test "Liveness tcp probe" { 57 pod_name="tcptest" 58 59 # Create pod 60 sed -e "s#\${agnhost_image}#${agnhost_name}:${agnhost_version}#" \ 61 "${pod_config_dir}/pod-tcp-liveness.yaml" |\ 62 kubectl create -f - 63 64 # Check pod creation 65 kubectl wait --for=condition=Ready --timeout=$timeout pod "$pod_name" 66 67 # Check liveness probe returns a success code 68 kubectl describe pod "$pod_name" | grep -E "Liveness|#success=1" 69 70 # Sleep necessary to check liveness probe returns a failure code 71 sleep "$sleep_liveness" 72 kubectl describe pod "$pod_name" | grep "Started container" 73 } 74 75 teardown() { 76 # Debugging information 77 kubectl describe "pod/$pod_name" 78 79 kubectl delete pod "$pod_name" 80 }