aboutsummaryrefslogtreecommitdiffstats
path: root/csit/run-project-csit.sh
diff options
context:
space:
mode:
authoradheli.tavares <adheli.tavares@est.tech>2024-12-19 09:45:08 +0000
committeradheli.tavares <adheli.tavares@est.tech>2025-01-10 11:47:16 +0000
commit7a6c3faeb0134776d46352f51f02cf6b2aef72b7 (patch)
treee9fcbc4e1ad8ca7c0ad32b780402f59803801a24 /csit/run-project-csit.sh
parentff37c033e7c25e1dd4ab6a1cc5b3913d27a37b0b (diff)
General improvements on CSIT scripts
- some issues with functions order - clear waiting times for docker containers to come up - --local flag added to make it easier to run tests with local images Issue-ID: POLICY-5239 Change-Id: I3bcbfd88f45110436b2b0fda16c61936ef919f95 Signed-off-by: adheli.tavares <adheli.tavares@est.tech>
Diffstat (limited to 'csit/run-project-csit.sh')
-rwxr-xr-xcsit/run-project-csit.sh105
1 files changed, 73 insertions, 32 deletions
diff --git a/csit/run-project-csit.sh b/csit/run-project-csit.sh
index 1c5c2f12..9b2c7695 100755
--- a/csit/run-project-csit.sh
+++ b/csit/run-project-csit.sh
@@ -3,7 +3,7 @@
# Copyright 2016-2017 Huawei Technologies Co., Ltd.
# Modification Copyright 2019 © Samsung Electronics Co., Ltd.
# Modification Copyright 2021 © AT&T Intellectual Property.
-# Modification Copyright 2021-2024 Nordix Foundation.
+# Modification Copyright 2021-2025 Nordix Foundation.
# Modifications Copyright 2024 Deutsche Telekom
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,20 +19,26 @@
# limitations under the License.
#
+SKIP_BUILDING_ROBOT_IMG=false
+DO_NOT_TEARDOWN=false
+
# even with forced finish, clean up docker containers
function on_exit(){
rm -rf ${CSAR_DIR}/csar_temp.csar
- # teardown of compose containers for acm-replicas doesn't work with normal stop-compose script
- if [ "${ACM_REPLICA_TEARDOWN}" = true ]; then
- source ${DOCKER_COMPOSE_DIR}/start-acm-replica.sh --stop --replicas=2
- elif [ "${APEX_REPLICA_TEARDOWN}" = true ]; then
- source ${DOCKER_COMPOSE_DIR}/start-multiple-pdp.sh --stop --replicas=2
- else
- source ${DOCKER_COMPOSE_DIR}/stop-compose.sh ${PROJECT}
+ if [ "${DO_NOT_TEARDOWN}" = false ]; then
+ # teardown of compose containers for acm-replicas doesn't work with normal stop-compose script
+ if [ "${ACM_REPLICA_TEARDOWN}" = true ]; then
+ source ${DOCKER_COMPOSE_DIR}/start-acm-replica.sh --stop --replicas=2
+ elif [ "${APEX_REPLICA_TEARDOWN}" = true ]; then
+ source ${DOCKER_COMPOSE_DIR}/start-multiple-pdp.sh --stop --replicas=2
+ else
+ source ${DOCKER_COMPOSE_DIR}/stop-compose.sh ${PROJECT}
+ fi
+
+ mv ${DOCKER_COMPOSE_DIR}/*.log ${ROBOT_LOG_DIR}
fi
- mv ${DOCKER_COMPOSE_DIR}/*.log ${ROBOT_LOG_DIR}
exit $RC
}
@@ -91,7 +97,8 @@ function check_rest_endpoint() {
function setup_clamp() {
export ROBOT_FILES="policy-clamp-test.robot clamp-slas.robot"
source ${DOCKER_COMPOSE_DIR}/start-compose.sh policy-clamp-runtime-acm --grafana
- sleep 30
+ echo "Waiting 2 minutes acm-runtime and participants to start..."
+ sleep 120
check_rest_endpoint "${ACM_PORT}"
}
@@ -101,8 +108,8 @@ function setup_clamp_replica() {
export TEST_ENV="docker"
export PROJECT=clamp
source ${DOCKER_COMPOSE_DIR}/start-acm-replica.sh --start --replicas=2
- echo "Waiting a minute for the replicas to be started..."
- sleep 60
+ echo "Waiting 2 minutes for the replicas to be started..."
+ sleep 120
# checking on apex-pdp status because acm-r replicas only start after apex-pdp is running
check_rest_endpoint ${PAP_PORT}
check_rest_endpoint ${APEX_PORT}
@@ -113,31 +120,37 @@ function setup_clamp_replica() {
function setup_api() {
export ROBOT_FILES="api-test.robot api-slas.robot"
source ${DOCKER_COMPOSE_DIR}/start-compose.sh api --grafana
- sleep 10
+ echo "Waiting 1 minute for policy-api to start..."
+ sleep 60
check_rest_endpoint ${API_PORT}
}
function setup_pap() {
export ROBOT_FILES="pap-test.robot pap-slas.robot"
source ${DOCKER_COMPOSE_DIR}/start-compose.sh apex-pdp --grafana
- sleep 10
+ echo "Waiting 1 minute for policy-pap to start..."
+ sleep 60
check_rest_endpoint ${PAP_PORT}
+ check_rest_endpoint ${APEX_PORT}
+ apex_healthcheck
}
function setup_apex() {
export ROBOT_FILES="apex-pdp-test.robot apex-slas.robot"
source ${DOCKER_COMPOSE_DIR}/start-compose.sh apex-pdp --grafana
- sleep 10
+ echo "Waiting 1 minute for apex-pdp to start..."
+ sleep 60
check_rest_endpoint ${PAP_PORT}
check_rest_endpoint ${APEX_PORT}
apex_healthcheck
}
function setup_apex_medium() {
- export SUITES="apex-slas-3.robot"
+ export ROBOT_FILES="apex-slas-3.robot"
export APEX_REPLICA_TEARDOWN=true
source ${DOCKER_COMPOSE_DIR}/start-multiple-pdp.sh --start --replicas=3
- sleep 10
+ echo "Waiting 1 minute for apex-pdp to start..."
+ sleep 60
check_rest_endpoint ${PAP_PORT}
check_rest_endpoint ${APEX_PORT}
apex_healthcheck
@@ -147,7 +160,8 @@ function setup_apex_large() {
export ROBOT_FILES="apex-slas-10.robot"
export APEX_REPLICA_TEARDOWN=true
source ${DOCKER_COMPOSE_DIR}/start-multiple-pdp.sh --start --replicas=10
- sleep 10
+ echo "Waiting 1 minute for apex-pdp to start..."
+ sleep 60
check_rest_endpoint ${PAP_PORT}
check_rest_endpoint ${APEX_PORT}
apex_healthcheck
@@ -156,33 +170,35 @@ function setup_apex_large() {
function setup_drools_apps() {
export ROBOT_FILES="drools-applications-test.robot drools-applications-slas.robot"
source ${DOCKER_COMPOSE_DIR}/start-compose.sh drools-applications --grafana
- sleep 10
+ echo "Waiting 1 minute for drools-pdp and drools-applications to start..."
+ sleep 60
check_rest_endpoint ${PAP_PORT}
- sleep 10
check_rest_endpoint ${DROOLS_APPS_PORT}
- sleep 10
check_rest_endpoint ${DROOLS_APPS_TELEMETRY_PORT}
}
function setup_xacml_pdp() {
export ROBOT_FILES="xacml-pdp-test.robot xacml-pdp-slas.robot"
source ${DOCKER_COMPOSE_DIR}/start-compose.sh xacml-pdp --grafana
- sleep 10
+ echo "Waiting 1 minute for xacml-pdp to start..."
+ sleep 60
check_rest_endpoint "${XACML_PORT}"
}
function setup_opa_pdp() {
export ROBOT_FILES="opa-pdp-test.robot"
export PROJECT="opa-pdp"
- source ${DOCKER_COMPOSE_DIR}/start-compose.sh opa-pdp --grafana
+ source ${DOCKER_COMPOSE_DIR}/start-compose.sh opa-pdp
+ echo "Waiting 3 minutes for OPA-PDP to start..."
sleep 180
- bash ${SCRIPTS}/wait_for_rest.sh localhost "${OPA_PDP_PORT}"
+ check_rest_endpoint "${OPA_PDP_PORT}"
}
function setup_drools_pdp() {
export ROBOT_FILES="drools-pdp-test.robot"
source ${DOCKER_COMPOSE_DIR}/start-compose.sh drools-pdp --grafana
- sleep 30
+ echo "Waiting 1 minute for drools-pdp to start..."
+ sleep 60
check_rest_endpoint ${DROOLS_TELEMETRY_PORT}
}
@@ -195,8 +211,11 @@ function setup_distribution() {
export ROBOT_FILES="distribution-test.robot"
source ${DOCKER_COMPOSE_DIR}/start-compose.sh distribution --grafana
- sleep 10
+ echo "Waiting 1 minute for distribution to start..."
+ sleep 60
check_rest_endpoint "${DIST_PORT}"
+ check_rest_endpoint ${APEX_PORT}
+ apex_healthcheck
}
function build_robot_image() {
@@ -233,10 +252,6 @@ function set_project_config() {
setup_apex
;;
- apex-pdp-postgres | policy-apex-pdp-postgres)
- setup_apex
- ;;
-
apex-pdp-medium | policy-apex-pdp-medium)
setup_apex_medium
;;
@@ -275,6 +290,33 @@ function set_project_config() {
# ensure that teardown and other finalizing steps are always executed
trap on_exit EXIT
+# start the script
+
+# Parse the command-line arguments
+while [[ $# -gt 0 ]]
+do
+ key="$1"
+
+ case $key in
+ --skip-build-csit)
+ export SKIP_BUILDING_ROBOT_IMG=true
+ shift
+ ;;
+ --local)
+ export USE_LOCAL_IMAGES=true
+ shift
+ ;;
+ --no-exit)
+ export DO_NOT_TEARDOWN=true
+ shift
+ ;;
+ *)
+ export PROJECT="${1}"
+ shift
+ ;;
+ esac
+done
+
# setup all directories used for test resources
if [ -z "${WORKSPACE}" ]; then
WORKSPACE=$(git rev-parse --show-toplevel)
@@ -282,7 +324,6 @@ if [ -z "${WORKSPACE}" ]; then
fi
export GERRIT_BRANCH=$(awk -F= '$1 == "defaultbranch" { print $2 }' "${WORKSPACE}"/.gitreview)
-export PROJECT="${1}"
export ROBOT_LOG_DIR="${WORKSPACE}/csit/archives/${PROJECT}"
export SCRIPTS="${WORKSPACE}/csit/resources/scripts"
export CSAR_DIR="${WORKSPACE}/csit/resources/tests/data/csar"
@@ -319,7 +360,7 @@ unset http_proxy https_proxy
export ROBOT_FILES
# use a separate script to build a CSIT docker image, to isolate the test run
-if [ "${2}" == "--skip-build-csit" ]; then
+if [ "${SKIP_BUILDING_ROBOT_IMG}" == "true" ]; then
echo "Skipping build csit robot image"
else
build_robot_image