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  }