mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-05-07 16:07:37 +00:00
stability: Add kubernetes parallel test
This PR adds a kubernetes parallel test that will launch multiple replicas from a kubernetes deployment and we will iterate this multiple times to verify that we are able to do this using CoCo Kata. This test will be part of the CoCo Kata stability CI. Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
This commit is contained in:
parent
e0bff7ed14
commit
c04a805215
tests/stability
46
tests/stability/kubernetes_soak_test.sh
Executable file
46
tests/stability/kubernetes_soak_test.sh
Executable file
@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (c) 2024 Intel Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
SCRIPT_PATH=$(dirname "$(readlink -f "$0")")
|
||||
source "${SCRIPT_PATH}/../metrics/lib/common.bash"
|
||||
|
||||
set -x
|
||||
|
||||
replicas="${replicas:-8}"
|
||||
deployment_name="${deployment_name:-deploymenttest}"
|
||||
# How many times will we run the test loop...
|
||||
iterations="${iterations:-20}"
|
||||
|
||||
function delete_deployment() {
|
||||
kubectl delete deployment "${deployment_name}"
|
||||
}
|
||||
|
||||
function go() {
|
||||
kubectl scale deployment/"${deployment_name}" --replicas="${replicas}"
|
||||
cmd="kubectl get deployment/${deployment_name} -o yaml | grep 'availableReplicas: ${replicas}'"
|
||||
waitForProcess "300" "30" "${cmd}"
|
||||
}
|
||||
|
||||
function init() {
|
||||
kubectl create -f "${SCRIPT_PATH}/runtimeclass_workloads/pod-deployment.yaml"
|
||||
kubectl wait --for=condition=Available --timeout=30s deployment/"${deployment_name}"
|
||||
}
|
||||
|
||||
function main() {
|
||||
check_processes
|
||||
local i=0
|
||||
for (( i=1; i<="${iterations}"; i++ )); do
|
||||
info "Start iteration $i of $iterations"
|
||||
init
|
||||
#spin them up
|
||||
go
|
||||
#shut them all down
|
||||
delete_deployment
|
||||
done
|
||||
}
|
||||
|
||||
main "$@"
|
25
tests/stability/runtimeclass_workloads/pod-deployment.yaml
Normal file
25
tests/stability/runtimeclass_workloads/pod-deployment.yaml
Normal file
@ -0,0 +1,25 @@
|
||||
#
|
||||
# Copyright (c) 2024 Intel Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: deploymenttest
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
purpose: pod-test
|
||||
replicas: 2
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
purpose: pod-test
|
||||
spec:
|
||||
terminationGracePeriodSeconds: 0
|
||||
runtimeClassName: kata
|
||||
containers:
|
||||
- name: pod-test
|
||||
image: quay.io/prometheus/busybox:latest
|
||||
command: ["tail", "-f", "/dev/null"]
|
Loading…
Reference in New Issue
Block a user