github.com/kata-containers/tests@v0.0.0-20240307153542-772105b56064/integration/kubernetes/k8s-nginx-connectivity.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 nginx_version=$(get_test_version "docker_images.nginx.version") 13 nginx_image="nginx:$nginx_version" 14 busybox_image="busybox" 15 deployment="nginx-deployment" 16 # Pull the images before launching workload. 17 crictl_pull "$busybox_image" 18 crictl_pull "$nginx_image" 19 20 get_pod_config_dir 21 } 22 23 @test "Verify nginx connectivity between pods" { 24 25 # Create test .yaml 26 sed -e "s/\${nginx_version}/${nginx_image}/" \ 27 "${pod_config_dir}/${deployment}.yaml" > "${pod_config_dir}/test-${deployment}.yaml" 28 29 kubectl create -f "${pod_config_dir}/test-${deployment}.yaml" 30 kubectl wait --for=condition=Available --timeout=$timeout deployment/${deployment} 31 kubectl expose deployment/${deployment} 32 33 busybox_pod="test-nginx" 34 kubectl run $busybox_pod --restart=Never -it --image="$busybox_image" \ 35 -- sh -c 'i=1; while [ $i -le '"$wait_time"' ]; do wget --timeout=5 '"$deployment"' && break; sleep 1; i=$(expr $i + 1); done' 36 37 # check pod's status, it should be Succeeded. 38 # or {.status.containerStatuses[0].state.terminated.reason} = "Completed" 39 [ $(kubectl get pods/$busybox_pod -o jsonpath="{.status.phase}") = "Succeeded" ] 40 kubectl logs "$busybox_pod" | grep "index.html" 41 } 42 43 teardown() { 44 # Debugging information 45 kubectl describe "pod/$busybox_pod" 46 kubectl get "pod/$busybox_pod" -o yaml 47 kubectl logs "$busybox_pod" 48 kubectl get deployment/${deployment} -o yaml 49 kubectl get service/${deployment} -o yaml 50 kubectl get endpoints/${deployment} -o yaml 51 52 rm -f "${pod_config_dir}/test-${deployment}.yaml" 53 kubectl delete deployment "$deployment" 54 kubectl delete service "$deployment" 55 kubectl delete pod "$busybox_pod" 56 }