mirror of
				https://github.com/kata-containers/kata-containers.git
				synced 2025-10-31 17:37:20 +00:00 
			
		
		
		
	tests: Add agent stability test
This PR adds the agent stability test to stability test. Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
This commit is contained in:
		
							
								
								
									
										60
									
								
								tests/stability/agent_stability_test.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								tests/stability/agent_stability_test.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| #!/bin/bash | ||||
| # | ||||
| # Copyright (c) 2018-2023 Intel Corporation | ||||
| # | ||||
| # SPDX-License-Identifier: Apache-2.0 | ||||
| # | ||||
| # This test will perform several execs to a | ||||
| # running container, the main purpose of this | ||||
| # test is to stress the agent | ||||
|  | ||||
| set -e -x | ||||
|  | ||||
| cidir=$(dirname "$0") | ||||
|  | ||||
| source "${cidir}/../metrics/lib/common.bash" | ||||
|  | ||||
| # Environment variables | ||||
| IMAGE="${IMAGE:-quay.io/prometheus/busybox:latest}" | ||||
| CONTAINER_NAME="${CONTAINER_NAME:-test}" | ||||
| PAYLOAD_ARGS="${PAYLOAD_ARGS:-tail -f /dev/null}" | ||||
|  | ||||
|  | ||||
| # Timeout is the duration of this test (seconds) | ||||
| # We want to stress the agent for a significant | ||||
| # time (approximately running for two days) | ||||
| timeout=186400 | ||||
| start_time=$(date +%s) | ||||
| end_time=$((start_time+timeout)) | ||||
|  | ||||
| function setup { | ||||
| 	restart_containerd_service | ||||
| 	sudo ctr image pull $IMAGE | ||||
| 	sudo ctr run --runtime=$CTR_RUNTIME -d $IMAGE $CONTAINER_NAME sh -c $PAYLOAD_ARGS | ||||
| } | ||||
|  | ||||
| function exec_loop { | ||||
| 	cmd="sudo ctr t exec --exec-id 1 $CONTAINER_NAME sh -c" | ||||
| 	$cmd "echo 'hello world' > file" | ||||
| 	$cmd "rm -rf /file" | ||||
| 	$cmd "touch /tmp/execWorks" | ||||
| 	$cmd "ls /tmp | grep execWorks" | ||||
| 	$cmd "rm -rf /tmp/execWorks" | ||||
| 	$cmd "ls /etc/foo" || echo "Fail expected" | ||||
| 	$cmd "cat /tmp/one" || echo "Fail expected" | ||||
| 	$cmd "exit 42" || echo "Fail expected" | ||||
| } | ||||
|  | ||||
| function teardown { | ||||
| 	echo "Ending stability test" | ||||
| 	clean_env_ctr | ||||
| } | ||||
| trap teardown EXIT | ||||
|  | ||||
| echo "Starting stability test" | ||||
| setup | ||||
|  | ||||
| echo "Running stability test" | ||||
| while [[ $end_time > $(date +%s) ]]; do | ||||
| 	exec_loop | ||||
| done | ||||
		Reference in New Issue
	
	Block a user