github.com/kata-containers/tests@v0.0.0-20240307153542-772105b56064/stability/cassandra_stress.sh (about)

     1  #!/bin/bash
     2  #
     3  # Copyright (c) 2023 Intel Corporation
     4  #
     5  # SPDX-License-Identifier: Apache-2.0
     6  
     7  set -o pipefail
     8  
     9  # General env
    10  SCRIPT_PATH=$(dirname "$(readlink -f "$0")")
    11  source "${SCRIPT_PATH}/../metrics/lib/common.bash"
    12  
    13  IMAGE="docker.io/library/cassandra:latest"
    14  CONTAINER_NAME="${CONTAINER_NAME:-cassandra_test}"
    15  DOCKER_IMAGE="cassandra:latest"
    16  PAYLOAD_ARGS="${PAYLOAD_ARGS:-tail -f /dev/null}"
    17  CMD="cassandra -R"
    18  
    19  function main() {
    20  	local cmds=("docker")
    21  
    22  	init_env
    23  	check_cmds "${cmds[@]}"
    24  	sudo -E "${DOCKER_EXE}" pull "${DOCKER_IMAGE}"
    25  	sudo -E "${DOCKER_EXE}" save -o "${DOCKER_IMAGE}.tar" "${DOCKER_IMAGE}"
    26  	sudo -E "${CTR_EXE}" i import "${DOCKER_IMAGE}.tar"
    27  
    28  	sudo -E "${CTR_EXE}" run -d --runtime "${CTR_RUNTIME}" "${IMAGE}" "${CONTAINER_NAME}" sh -c "${PAYLOAD_ARGS}"
    29  	sudo -E "${CTR_EXE}" t exec --exec-id 1 "${CONTAINER_NAME}" sh -c "${CMD}"
    30  	info "Write one million rows"
    31  	local WRITE_CMD="./opt/cassandra/tools/bin/cassandra-stress write n=1000000 -rate threads=50"
    32  	sudo -E "${CTR_EXE}" t exec --exec-id 2 "${CONTAINER_NAME}" sh -c "${WRITE_CMD}"
    33  	info "Load one row with default schema"
    34  	local CQL_WRITE_CMD="./opt/cassandra/tools/bin/cassandra-stress write n=1 c1=one -mode native cql3 -log file-create_schema.log"
    35  	sudo -E "${CTR_EXE}" t exec --exec-id 3 "${CONTAINER_NAME}" sh -c "${CQL_WRITE_CMD}"
    36  	info "Run a write workload using CQL"
    37  	local REAL_WRITE_CMD="./opt/cassandra/tools/bin/cassandra-stress write n=1000000 cl=one -mode native cql3 -schema keyspace='keyspace1' -log file=load_1M_rows.log"
    38  	sudo -E "${CTR_EXE}" t exec --exec-id 4 "${CONTAINER_NAME}" sh -c "${REAL_WRITE_CMD}"
    39  
    40  	clean_env_ctr
    41  }
    42  
    43  main "$@"