github.com/dmaizel/tests@v0.0.0-20210728163746-cae6a2d9cee8/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 export KUBECONFIG="${KUBECONFIG:-$HOME/.kube/config}" 13 sleep_liveness=20 14 agnhost_name=$(get_test_version "container_images.agnhost.name") 15 agnhost_version=$(get_test_version "container_images.agnhost.version") 16 17 get_pod_config_dir 18 } 19 20 @test "Liveness probe" { 21 pod_name="liveness-exec" 22 23 # Create pod 24 kubectl create -f "${pod_config_dir}/pod-liveness.yaml" 25 26 # Check pod creation 27 kubectl wait --for=condition=Ready --timeout=$timeout pod "$pod_name" 28 29 # Check liveness probe returns a success code 30 kubectl describe pod "$pod_name" | grep -E "Liveness|#success=1" 31 32 # Sleep necessary to check liveness probe returns a failure code 33 sleep "$sleep_liveness" 34 kubectl describe pod "$pod_name" | grep "Liveness probe failed" 35 } 36 37 @test "Liveness http probe" { 38 pod_name="liveness-http" 39 40 # Create pod 41 sed -e "s#\${agnhost_image}#${agnhost_name}:${agnhost_version}#" \ 42 "${pod_config_dir}/pod-http-liveness.yaml" |\ 43 kubectl create -f - 44 45 # Check pod creation 46 kubectl wait --for=condition=Ready --timeout=$timeout pod "$pod_name" 47 48 # Check liveness probe returns a success code 49 kubectl describe pod "$pod_name" | grep -E "Liveness|#success=1" 50 51 # Sleep necessary to check liveness probe returns a failure code 52 sleep "$sleep_liveness" 53 kubectl describe pod "$pod_name" | grep "Started container" 54 } 55 56 57 @test "Liveness tcp probe" { 58 pod_name="tcptest" 59 60 # Create pod 61 sed -e "s#\${agnhost_image}#${agnhost_name}:${agnhost_version}#" \ 62 "${pod_config_dir}/pod-tcp-liveness.yaml" |\ 63 kubectl create -f - 64 65 # Check pod creation 66 kubectl wait --for=condition=Ready --timeout=$timeout pod "$pod_name" 67 68 # Check liveness probe returns a success code 69 kubectl describe pod "$pod_name" | grep -E "Liveness|#success=1" 70 71 # Sleep necessary to check liveness probe returns a failure code 72 sleep "$sleep_liveness" 73 kubectl describe pod "$pod_name" | grep "Started container" 74 } 75 76 teardown() { 77 # Debugging information 78 kubectl describe "pod/$pod_name" 79 80 kubectl delete pod "$pod_name" 81 }