github.com/dmaizel/tests@v0.0.0-20210728163746-cae6a2d9cee8/integration/kubernetes/k8s-number-cpus.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  	export KUBECONFIG="${KUBECONFIG:-$HOME/.kube/config}"
    13  	pod_name="cpu-test"
    14  	container_name="c1"
    15  	get_pod_config_dir
    16  }
    17  
    18  # Skip on aarch64 due to missing cpu hotplug related functionality.
    19  @test "Check number of cpus" {
    20  	# Create pod
    21  	kubectl create -f "${pod_config_dir}/pod-number-cpu.yaml"
    22  
    23  	# Check pod creation
    24  	kubectl wait --for=condition=Ready --timeout=$timeout pod "$pod_name"
    25  
    26  	retries="10"
    27  	max_number_cpus="3"
    28  
    29  	num_cpus_cmd='cat /proc/cpuinfo |grep processor|wc -l'
    30  	for _ in $(seq 1 "$retries"); do
    31  		# Get number of cpus
    32  		number_cpus=$(kubectl exec pod/"$pod_name" -c "$container_name" \
    33  			-- sh -c "$num_cpus_cmd")
    34  		# Verify number of cpus
    35  		[ "$number_cpus" -le "$max_number_cpus" ]
    36  		[ "$number_cpus" -eq "$max_number_cpus" ] && break
    37  		sleep 1
    38  	done
    39  }
    40  
    41  teardown() {
    42  	# Debugging information
    43  	kubectl describe "pod/$pod_name"
    44  
    45  	kubectl delete pod "$pod_name"
    46  }