1
0
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:
Gabriela Cervantes 2024-08-20 23:00:46 +00:00
parent e0bff7ed14
commit c04a805215
2 changed files with 71 additions and 0 deletions
tests/stability

View 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 "$@"

View 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"]