github.com/dmaizel/tests@v0.0.0-20210728163746-cae6a2d9cee8/integration/kubernetes/k8s-scale-nginx.bats (about) 1 #!/usr/bin/env bats 2 # 3 # Copyright (c) 2019 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 replicas="3" 15 deployment="nginx-deployment" 16 export KUBECONFIG="${KUBECONFIG:-$HOME/.kube/config}" 17 crictl_pull "$nginx_image" 18 get_pod_config_dir 19 } 20 21 @test "Scale nginx deployment" { 22 23 sed -e "s/\${nginx_version}/${nginx_image}/" \ 24 "${pod_config_dir}/${deployment}.yaml" > "${pod_config_dir}/test-${deployment}.yaml" 25 26 kubectl create -f "${pod_config_dir}/test-${deployment}.yaml" 27 kubectl wait --for=condition=Available --timeout=$timeout deployment/${deployment} 28 kubectl expose deployment/${deployment} 29 kubectl scale deployment/${deployment} --replicas=${replicas} 30 cmd="kubectl get deployment/${deployment} -o yaml | grep 'availableReplicas: ${replicas}'" 31 waitForProcess "$wait_time" "$sleep_time" "$cmd" 32 } 33 34 teardown() { 35 rm -f "${pod_config_dir}/test-${deployment}.yaml" 36 kubectl delete deployment "$deployment" 37 kubectl delete service "$deployment" 38 }