From fec823bee9dfc96dcb625e1d538e3bec131f6ed0 Mon Sep 17 00:00:00 2001 From: BjornMagnussonXA Date: Tue, 3 Aug 2021 14:14:05 +0200 Subject: [PATCH] Adapted function test for E release Issue-ID: NONRTRIC-563 Signed-off-by: BjornMagnussonXA Change-Id: If30d21ec87d7d754231d7dcd6811843037cf26d8 --- test/auto-test/FTC1.sh | 2 +- test/auto-test/FTC10.sh | 2 +- test/auto-test/FTC100.sh | 2 +- test/auto-test/FTC110.sh | 2 +- test/auto-test/FTC1100.sh | 2 +- test/auto-test/FTC150.sh | 2 +- test/auto-test/FTC1800.sh | 2 +- test/auto-test/FTC2001.sh | 2 +- test/auto-test/FTC300.sh | 2 +- test/auto-test/FTC310.sh | 5 +- test/auto-test/FTC350.sh | 26 +- test/auto-test/FTC800.sh | 2 +- test/auto-test/FTC805.sh | 2 +- test/auto-test/FTC810.sh | 2 +- test/auto-test/FTC850.sh | 2 +- test/auto-test/FTC900.sh | 3 +- test/auto-test/FTC_HELM_RECIPE_E_RELEASE.sh | 409 +++++++++++++++++++++++ test/auto-test/PM_DEMO.sh | 2 +- test/auto-test/PM_EI_DEMO.sh | 2 +- test/auto-test/startMR.sh | 2 +- test/common/README.md | 3 +- test/common/control_panel_api_functions.sh | 4 +- test/common/test_env-oran-e-release.sh | 445 ++++++++++++++++++++++++++ test/common/testcase_common.sh | 45 ++- test/simulator-group/control_panel/nginx.conf | 4 + 25 files changed, 953 insertions(+), 23 deletions(-) create mode 100755 test/auto-test/FTC_HELM_RECIPE_E_RELEASE.sh create mode 100755 test/common/test_env-oran-e-release.sh diff --git a/test/auto-test/FTC1.sh b/test/auto-test/FTC1.sh index 5347f8f0..28c84e53 100755 --- a/test/auto-test/FTC1.sh +++ b/test/auto-test/FTC1.sh @@ -34,7 +34,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/FTC10.sh b/test/auto-test/FTC10.sh index a3010f24..567faccb 100755 --- a/test/auto-test/FTC10.sh +++ b/test/auto-test/FTC10.sh @@ -33,7 +33,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/FTC100.sh b/test/auto-test/FTC100.sh index a3432e1d..ff9b9015 100755 --- a/test/auto-test/FTC100.sh +++ b/test/auto-test/FTC100.sh @@ -34,7 +34,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/FTC110.sh b/test/auto-test/FTC110.sh index c74ce242..3690e9c1 100755 --- a/test/auto-test/FTC110.sh +++ b/test/auto-test/FTC110.sh @@ -34,7 +34,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/FTC1100.sh b/test/auto-test/FTC1100.sh index 14652d01..cbad2710 100755 --- a/test/auto-test/FTC1100.sh +++ b/test/auto-test/FTC1100.sh @@ -34,7 +34,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/FTC150.sh b/test/auto-test/FTC150.sh index a3dfbe00..1d80a8c3 100755 --- a/test/auto-test/FTC150.sh +++ b/test/auto-test/FTC150.sh @@ -28,7 +28,7 @@ KUBE_INCLUDED_IMAGES=" RICSIM SDNC KUBEPROXY" KUBE_PRESTARTED_IMAGES=" " #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/FTC1800.sh b/test/auto-test/FTC1800.sh index cbb78700..eebed142 100755 --- a/test/auto-test/FTC1800.sh +++ b/test/auto-test/FTC1800.sh @@ -34,7 +34,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/FTC2001.sh b/test/auto-test/FTC2001.sh index 28926cb2..d174ef1c 100755 --- a/test/auto-test/FTC2001.sh +++ b/test/auto-test/FTC2001.sh @@ -33,7 +33,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/FTC300.sh b/test/auto-test/FTC300.sh index 7c0208a3..ac1259fc 100755 --- a/test/auto-test/FTC300.sh +++ b/test/auto-test/FTC300.sh @@ -33,7 +33,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/FTC310.sh b/test/auto-test/FTC310.sh index 7865edb3..33e4966b 100755 --- a/test/auto-test/FTC310.sh +++ b/test/auto-test/FTC310.sh @@ -24,7 +24,7 @@ TC_ONELINE_DESCR="Resync of RIC via changes in the consul config or pushed confi DOCKER_INCLUDED_IMAGES="CBS CONSUL CP CR MR PA RICSIM NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER" @@ -36,6 +36,7 @@ SUPPORTED_RUNMODES="DOCKER" . ../common/control_panel_api_functions.sh . ../common/controller_api_functions.sh . ../common/consul_cbs_functions.sh +. ../common/gateway_api_functions.sh setup_testenvironment @@ -72,7 +73,7 @@ for consul_conf in $TESTED_VARIANTS ; do start_cr - start_control_panel + start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE if [ $consul_conf == "CONSUL" ]; then start_consul_cbs diff --git a/test/auto-test/FTC350.sh b/test/auto-test/FTC350.sh index 756ea7fe..6cb6b882 100755 --- a/test/auto-test/FTC350.sh +++ b/test/auto-test/FTC350.sh @@ -28,7 +28,7 @@ KUBE_INCLUDED_IMAGES="CP CR MR PA RICSIM SDNC KUBEPROXY NGW" KUBE_PRESTARTED_IMAGES="" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" @@ -229,6 +229,8 @@ for interface in $TESTED_VARIANTS ; do if [ "$PMS_VERSION" == "V2" ]; then + api_equal json:policy-types 5 120 + echo "Check the number of types in the agent for each ric" api_equal json:policy-types?ric_id=ricsim_g1_1 1 120 api_equal json:policy-types?ric_id=ricsim_g1_2 2 120 @@ -242,6 +244,8 @@ for interface in $TESTED_VARIANTS ; do api_equal json:policy-types?ric_id=ricsim_g1_10 0 120 else + api_equal json:policy_types 5 120 + echo "Check the number of types in the agent for each ric" api_equal json:policy_types?ric=ricsim_g1_1 1 120 api_equal json:policy_types?ric=ricsim_g1_2 2 120 @@ -304,6 +308,9 @@ for interface in $TESTED_VARIANTS ; do fi if [ "$PMS_VERSION" == "V2" ]; then + + api_equal json:policy-types 5 120 + echo "Check the number of types in the agent for each ric" api_equal json:policy-types?ric_id=ricsim_g1_1 1 120 api_equal json:policy-types?ric_id=ricsim_g1_2 2 120 @@ -314,6 +321,9 @@ for interface in $TESTED_VARIANTS ; do api_equal json:policy-types?ric_id=ricsim_g1_7 3 120 api_equal json:policy-types?ric_id=ricsim_g1_8 2 120 else + + api_equal json:policy_types 5 120 + echo "Check the number of types in the agent for each ric" api_equal json:policy_types?ric=ricsim_g1_1 1 120 api_equal json:policy_types?ric=ricsim_g1_2 2 120 @@ -354,6 +364,9 @@ for interface in $TESTED_VARIANTS ; do api_equal json:rics 10 120 if [ "$PMS_VERSION" == "V2" ]; then + + api_equal json:policy-types 5 120 + echo "Check the number of types in the agent for each ric" api_equal json:policy-types?ric_id=ricsim_g1_1 1 120 api_equal json:policy-types?ric_id=ricsim_g1_2 2 120 @@ -366,6 +379,9 @@ for interface in $TESTED_VARIANTS ; do api_equal json:policy-types?ric_id=ricsim_g1_9 1 120 api_equal json:policy-types?ric_id=ricsim_g1_10 0 120 else + + api_equal json:policy_types 5 120 + echo "Check the number of types in the agent for each ric" api_equal json:policy_types?ric=ricsim_g1_1 1 120 api_equal json:policy_types?ric=ricsim_g1_2 2 120 @@ -409,6 +425,9 @@ for interface in $TESTED_VARIANTS ; do sleep_wait 120 if [ "$PMS_VERSION" == "V2" ]; then + + api_equal json:policy-types 5 120 + api_equal json:policy-types?ric_id=ricsim_g1_1 1 120 api_equal json:policy-types?ric_id=ricsim_g1_2 2 120 api_equal json:policy-types?ric_id=ricsim_g1_3 3 120 @@ -420,6 +439,9 @@ for interface in $TESTED_VARIANTS ; do api_equal json:policy-types?ric_id=ricsim_g1_9 1 120 api_equal json:policy-types?ric_id=ricsim_g1_10 0 120 else + + api_equal json:policy_types 5 120 + api_equal json:policy_types?ric=ricsim_g1_1 1 120 api_equal json:policy_types?ric=ricsim_g1_2 2 120 api_equal json:policy_types?ric=ricsim_g1_3 3 120 @@ -446,8 +468,10 @@ for interface in $TESTED_VARIANTS ; do sim_delete_policy_type 204 ricsim_g1_8 4 if [ "$PMS_VERSION" == "V2" ]; then + api_equal json:policy-types 5 120 api_equal json:policy-types?ric_id=ricsim_g1_8 1 120 else + api_equal json:policy_types 5 120 api_equal json:policy_types?ric=ricsim_g1_8 1 120 fi diff --git a/test/auto-test/FTC800.sh b/test/auto-test/FTC800.sh index 0a5cb3af..19fd96f5 100755 --- a/test/auto-test/FTC800.sh +++ b/test/auto-test/FTC800.sh @@ -33,7 +33,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/FTC805.sh b/test/auto-test/FTC805.sh index 3c99ed96..e90f3160 100755 --- a/test/auto-test/FTC805.sh +++ b/test/auto-test/FTC805.sh @@ -33,7 +33,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-ISTANBUL ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-ISTANBUL ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/FTC810.sh b/test/auto-test/FTC810.sh index 37faaa40..78c8e0dd 100755 --- a/test/auto-test/FTC810.sh +++ b/test/auto-test/FTC810.sh @@ -33,7 +33,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/FTC850.sh b/test/auto-test/FTC850.sh index b49dcc22..e72ad07c 100755 --- a/test/auto-test/FTC850.sh +++ b/test/auto-test/FTC850.sh @@ -33,7 +33,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/FTC900.sh b/test/auto-test/FTC900.sh index 3cd3bd2f..71ea3980 100755 --- a/test/auto-test/FTC900.sh +++ b/test/auto-test/FTC900.sh @@ -33,7 +33,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" @@ -46,6 +46,7 @@ SUPPORTED_RUNMODES="DOCKER KUBE" . ../common/consul_cbs_functions.sh . ../common/kube_proxy_api_functions.sh . ../common/gateway_api_functions.sh +. ../common/cr_api_functions.sh setup_testenvironment diff --git a/test/auto-test/FTC_HELM_RECIPE_E_RELEASE.sh b/test/auto-test/FTC_HELM_RECIPE_E_RELEASE.sh new file mode 100755 index 00000000..b6092227 --- /dev/null +++ b/test/auto-test/FTC_HELM_RECIPE_E_RELEASE.sh @@ -0,0 +1,409 @@ +#!/usr/bin/env bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2020 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +TC_ONELINE_DESCR="Sanity test of Non-RT RIC Helm recepie - all components - E-RELEASE" + +#App names to include in the test when running docker, space separated list +DOCKER_INCLUDED_IMAGES="" # Not used - KUBE only test script + +#App names to include in the test when running kubernetes, space separated list +KUBE_INCLUDED_IMAGES=" MR CR PRODSTUB KUBEPROXY" +#Prestarted app (not started by script) to include in the test when running kubernetes, space separated list +KUBE_PRESTARTED_IMAGES=" PA RICSIM CP ECS RC SDNC" + +#Supported test environment profiles +SUPPORTED_PROFILES="ORAN-E-RELEASE" +#Supported run modes +SUPPORTED_RUNMODES="KUBE" + +. ../common/testcase_common.sh $@ +. ../common/agent_api_functions.sh +. ../common/ricsimulator_api_functions.sh +. ../common/ecs_api_functions.sh +. ../common/prodstub_api_functions.sh +. ../common/cr_api_functions.sh +. ../common/rapp_catalogue_api_functions.sh +. ../common/mr_api_functions.sh +. ../common/control_panel_api_functions.sh +. ../common/controller_api_functions.sh +. ../common/kube_proxy_api_functions.sh + +setup_testenvironment + +#### TEST BEGIN #### + +use_mr_http #MR only supports http? +use_cr_https +use_agent_rest_https +use_sdnc_https +use_simulator_https +use_ecs_rest_https +use_prod_stub_https +if [ $ECS_VERSION == "V1-1" ]; then + use_rapp_catalogue_http # https not yet supported +else + ########################################use_rapp_catalogue_https + use_rapp_catalogue_http +fi + +echo -e "$RED CHECK WHY RC HTTPS DOES NOT WORK $ERED" + +###############################use_control_panel_https +use_control_panel_http + +if [ "$PMS_VERSION" == "V1" ]; then + echo "PMS VERSION 2 (V2) is required" + exit 1 +fi + +clean_environment + +pms_kube_pvc_reset + +ecs_kube_pvc_reset + +start_kube_proxy + +STD_NUM_RICS=2 +OSC_NUM_RICS=2 + +start_ric_simulators a1-sim-osc $STD_NUM_RICS OSC_2.1.0 +echo " RIC MAPPING a1-sim-osc-0 : ric1" +echo " RIC MAPPING a1-sim-osc-1 : ric2" + +start_ric_simulators a1-sim-std $STD_NUM_RICS STD_1.1.3 +echo " RIC MAPPING a1-sim-std-0 : ric3" +echo " RIC MAPPING a1-sim-std-1 : ric4" + +start_ric_simulators a1-sim-std2 $STD_NUM_RICS STD_2.0.0 +echo " RIC MAPPING a1-sim-std2-0 : ric5" +echo " RIC MAPPING a1-sim-std2-1 : ric6" + +start_mr + +start_control_panel + +start_sdnc + +start_policy_agent + +start_cr + +start_prod_stub + +start_ecs NOPROXY + +set_ecs_trace + +start_rapp_catalogue + +set_agent_trace + +#### Test RAPP Catalogue #### + +rapp_cat_api_get_services 200 EMPTY + +rapp_cat_api_put_service 201 "Emergency-response-app" v1 "Emergency-response-app" "Emergency-response-app" + +rapp_cat_api_get_services 200 "Emergency-response-app" v1 "Emergency-response-app" "Emergency-response-app" + +#Check the number of services +rc_equal json:services 1 + +api_get_status 200 + +#### Test Policy Management Service #### + +# Print the A1 version for STD 1.1.X +for ((i=0; i<$STD_NUM_RICS; i++)) +do + sim_print "a1-sim-std-"$i interface +done + +# Print the A1 version for STD 2.0.X +for ((i=0; i<$STD_NUM_RICS; i++)) +do + sim_print "a1-sim-std2-"$i interface +done + +# Print the A1 version for OSC 2.1.X +for ((i=0; i<$OSC_NUM_RICS; i++)) +do + sim_print "a1-sim-osc-"$i interface +done + +# Load the polictypes in STD 2 +for ((i=0; i<$STD_NUM_RICS; i++)) +do + sim_put_policy_type 201 "a1-sim-std2-"$i STD_QOS_0_2_0 testdata/STD2/sim_qos.json + sim_put_policy_type 201 "a1-sim-std2-"$i STD_QOS2_0.1.0 testdata/STD2/sim_qos2.json +done + +# Load the polictypes in OSC +for ((i=0; i<$OSC_NUM_RICS; i++)) +do + sim_put_policy_type 201 "a1-sim-osc-"$i 1 testdata/OSC/sim_1.json + sim_put_policy_type 201 "a1-sim-osc-"$i 2 testdata/OSC/sim_2.json +done + +# Check that all rics are synced in +api_equal json:rics 6 300 + +#Check the number of schemas and the individual schemas +api_equal json:policy-types 5 300 + +for ((i=0; i<$STD_NUM_RICS; i++)) +do + ricid=$((3+$i)) + api_equal json:policy-types?ric_id=ric$ricid 1 120 +done + +for ((i=0; i<$STD_NUM_RICS; i++)) +do + ricid=$((5+$i)) + api_equal json:policy-types?ric_id=ric$ricid 2 120 +done + +for ((i=0; i<$OSC_NUM_RICS; i++)) +do + ricid=$((1+$i)) + api_equal json:policy-types?ric_id=ric$ricid 2 120 +done + +#Check the schemas in STD 2 +for ((i=0; i<$OSC_NUM_RICS; i++)) +do + ricid=$((5+$i)) + api_get_policy_type 200 STD_QOS_0_2_0 testdata/STD2/qos-agent-modified.json + api_get_policy_type 200 STD_QOS2_0.1.0 testdata/STD2/qos2-agent-modified.json +done + +# Check the schemas in OSC +for ((i=0; i<$OSC_NUM_RICS; i++)) +do + api_get_policy_type 200 1 testdata/OSC/1-agent-modified.json + api_get_policy_type 200 2 testdata/OSC/2-agent-modified.json +done + +if [ "$PMS_VERSION" == "V2" ]; then + + api_equal json:policy-types 5 120 + + api_equal json:policies 0 + + api_equal json:policy-instances 0 +else + + api_equal json:policy_schemas 5 120 + + api_equal json:policy_types 5 + + api_equal json:policies 0 + + api_equal json:policy_ids 0 +fi + +api_put_service 201 "Emergency-response-app" 0 "$CR_SERVICE_PATH/ER-app" + +# Create policies in STD +for ((i=0; i<$STD_NUM_RICS; i++)) +do + ricid=$((3+$i)) + generate_policy_uuid + api_put_policy 201 "Emergency-response-app" ric$ricid NOTYPE $((1100+$i)) NOTRANSIENT $CR_SERVICE_PATH/"std2" testdata/STD/pi1_template.json 1 + generate_policy_uuid + api_put_policy 201 "Emergency-response-app" ric$ricid NOTYPE $((1200+$i)) NOTRANSIENT $CR_SERVICE_PATH/"std2" testdata/STD/pi1_template.json 1 +done + +#Create policies in STD 2 +for ((i=0; i<$STD_NUM_RICS; i++)) +do + ricid=$((5+$i)) + generate_policy_uuid + api_put_policy 201 "Emergency-response-app" ric$ricid STD_QOS_0_2_0 $((2100+$i)) NOTRANSIENT $CR_SERVICE_PATH/"std2" testdata/STD2/pi_qos_template.json 1 + generate_policy_uuid + api_put_policy 201 "Emergency-response-app" ric$ricid STD_QOS2_0.1.0 $((2200+$i)) NOTRANSIENT $CR_SERVICE_PATH/"std2" testdata/STD2/pi_qos2_template.json 1 +done + +# Create policies in OSC +for ((i=0; i<$OSC_NUM_RICS; i++)) +do + ricid=$((1+$i)) + generate_policy_uuid + api_put_policy 201 "Emergency-response-app" ric$ricid 1 $((3100+$i)) NOTRANSIENT $CR_SERVICE_PATH/"osc" testdata/OSC/pi1_template.json 1 + generate_policy_uuid + api_put_policy 201 "Emergency-response-app" ric$ricid 2 $((3200+$i)) NOTRANSIENT $CR_SERVICE_PATH/"osc" testdata/OSC/pi2_template.json 1 +done + + +# Check the number of policies in STD and STD2 +for ((i=0; i<$STD_NUM_RICS; i++)) +do + sim_equal "a1-sim-std-"$i num_instances 2 + sim_equal "a1-sim-std2-"$i num_instances 2 +done + +# Check the number of policies in OSC +for ((i=0; i<$STD_NUM_RICS; i++)) +do + sim_equal "a1-sim-osc-"$i num_instances 2 +done + +stop_policy_agent + +start_stopped_policy_agent + +# Check PMS state after restart + +sleep_wait 200 + +if [ "$PMS_VERSION" == "V2" ]; then + + api_equal json:policy-types 5 120 + + api_equal json:policies 12 + + api_equal json:policy-instances 12 +else + + api_equal json:policy_schemas 5 120 + + api_equal json:policy_types 5 + + api_equal json:policies 12 + + api_equal json:policy_ids 12 +fi + +# Check the number of policies in STD and STD2 +for ((i=0; i<$STD_NUM_RICS; i++)) +do + sim_equal "a1-sim-std-"$i num_instances 2 + sim_equal "a1-sim-std2-"$i num_instances 2 +done + +# Check the number of policies in OSC +for ((i=0; i<$STD_NUM_RICS; i++)) +do + sim_equal "a1-sim-osc-"$i num_instances 2 +done + + +echo "ADD EVENT/STATUS CHECK" +echo "ADD MR CHECK" + +FLAT_A1_EI="1" + +ecs_api_admin_reset + +CB_JOB="$PROD_STUB_SERVICE_PATH$PROD_STUB_JOB_CALLBACK" +CB_SV="$PROD_STUB_SERVICE_PATH$PROD_STUB_SUPERVISION_CALLBACK" +TARGET1="$RIC_SIM_HTTPX://a1-sim-std2-0.a1-sim:$RIC_SIM_PORT/datadelivery" +TARGET2="$RIC_SIM_HTTPX://a1-sim-std2-1.a1-sim:$RIC_SIM_PORT/datadelivery" + +STATUS1="$CR_SERVICE_PATH/job1-status" +STATUS2="$CR_SERVICE_PATH/job2-status" + +prodstub_arm_producer 200 prod-a +prodstub_arm_type 200 prod-a type1 +prodstub_arm_job_create 200 prod-a job1 +prodstub_arm_job_create 200 prod-a job2 + + +### ecs status +ecs_api_service_status 200 + +## Setup prod-a +if [ $ECS_VERSION == "V1-1" ]; then + ecs_api_edp_put_producer 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ecs/ei-type-1.json + + ecs_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ecs/ei-type-1.json +else + ecs_api_edp_put_type_2 201 type1 testdata/ecs/ei-type-1.json + ecs_api_edp_get_type_2 200 type1 + ecs_api_edp_get_type_ids 200 type1 + + ecs_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 + ecs_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 +fi + +ecs_api_edp_get_producer_status 200 prod-a ENABLED + + +## Create a job for prod-a +## job1 - prod-a +if [ -z "$FLAT_A1_EI" ]; then + ecs_api_a1_put_job 201 type1 job1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json +else + ecs_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ecs/job-template.json +fi + +# Check the job data in the producer +if [ $ECS_VERSION == "V1-1" ]; then + prodstub_check_jobdata 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json +else + if [[ "$ECS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then + prodstub_check_jobdata_3 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json + else + prodstub_check_jobdata_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json + fi +fi + +## Create a second job for prod-a +## job2 - prod-a +if [ -z "$FLAT_A1_EI" ]; then + ecs_api_a1_put_job 201 type1 job2 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json +else + ecs_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ecs/job-template.json +fi + +# Check the job data in the producer +if [ $ECS_VERSION == "V1-1" ]; then + prodstub_check_jobdata 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json +else + if [[ "$ECS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then + prodstub_check_jobdata_3 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json + else + prodstub_check_jobdata_2 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json + fi +fi + +stop_ecs + +start_stopped_ecs + +# Check ECS status after restart + +if [ -z "$FLAT_A1_EI" ]; then + ecs_api_a1_get_job_status 200 type1 job1 DISABLED + ecs_api_a1_get_job_status 200 type1 job2 DISABLED +else + ecs_api_a1_get_job_status 200 job1 DISABLED + ecs_api_a1_get_job_status 200 job2 DISABLED +fi + +check_policy_agent_logs +check_ecs_logs +check_sdnc_logs + +#### TEST COMPLETE #### + +store_logs END + +print_result diff --git a/test/auto-test/PM_DEMO.sh b/test/auto-test/PM_DEMO.sh index 644c5e2e..845617c7 100755 --- a/test/auto-test/PM_DEMO.sh +++ b/test/auto-test/PM_DEMO.sh @@ -33,7 +33,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/PM_EI_DEMO.sh b/test/auto-test/PM_EI_DEMO.sh index d770bfb7..15e73774 100755 --- a/test/auto-test/PM_EI_DEMO.sh +++ b/test/auto-test/PM_EI_DEMO.sh @@ -33,7 +33,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/auto-test/startMR.sh b/test/auto-test/startMR.sh index c983a5be..ec1e062c 100755 --- a/test/auto-test/startMR.sh +++ b/test/auto-test/startMR.sh @@ -34,7 +34,7 @@ KUBE_PRESTARTED_IMAGES="" CONDITIONALLY_IGNORED_IMAGES="NGW" #Supported test environment profiles -SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ORAN-CHERRY ORAN-D-RELEASE" +SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE" #Supported run modes SUPPORTED_RUNMODES="DOCKER KUBE" diff --git a/test/common/README.md b/test/common/README.md index a267a492..8f373776 100644 --- a/test/common/README.md +++ b/test/common/README.md @@ -130,7 +130,7 @@ The script can be started with these arguments | arg list | |--| -| `remote\|remote-remove docker\|kube --env-file [release] [auto-clean] [--stop-at-error] [--ricsim-prefix ] [--use-local-image +] [--use-snapshot-image +] [--use-staging-image +] [--use-release-image +] [--image-repo ] [--repo-policy local\|remote] [--cluster-timeout ]` | +| `remote\|remote-remove docker\|kube --env-file [release] [auto-clean] [--stop-at-error] [--ricsim-prefix ] [--use-local-image +] [--use-snapshot-image +] [--use-staging-image +] [--use-release-image +] [--image-repo ] [--repo-policy local\|remote] [--cluster-timeout ] [--print-stats]` | | parameter | description | |-|-| @@ -150,6 +150,7 @@ The script can be started with these arguments | `--image-repo` | Url to optional image repo. Only locally built images will be re-tagged and pushed to this repo | | `-repo-policy` | Policy controlling which images to re-tag and push to image repo in param --image-repo. Can be set to 'local' (push on locally built images) or 'remote' (push locally built images and images from nexus repo). Default is 'local' | | `--cluster-timeout` | Optional timeout for cluster where it takes time to obtain external ip/host-name. Timeout in seconds | +| `--print-stats` | Prints the number of tests, failed tests, failed configuration and deviations after each individual test or config | | `help` | Print this info along with the test script description and the list of app short names supported | ## Function: setup_testenvironment ## diff --git a/test/common/control_panel_api_functions.sh b/test/common/control_panel_api_functions.sh index 8c0b41f5..4d96880b 100644 --- a/test/common/control_panel_api_functions.sh +++ b/test/common/control_panel_api_functions.sh @@ -174,6 +174,7 @@ start_control_panel() { export NRT_GATEWAY_EXTERNAL_PORT export CONTROL_PANEL_PATH_POLICY_PREFIX export CONTROL_PANEL_PATH_ECS_PREFIX + export CONTROL_PANEL_PATH_ECS_PREFIX2 export CP_NGINX_RESOLVER=$CONTROL_PANEL_NGINX_KUBE_RESOLVER @@ -255,12 +256,13 @@ start_control_panel() { export NGW_DOMAIN_NAME=$NRT_GATEWAY_APP_NAME export CONTROL_PANEL_PATH_POLICY_PREFIX export CONTROL_PANEL_PATH_ECS_PREFIX + export CONTROL_PANEL_PATH_ECS_PREFIX2 export CP_NGINX_RESOLVER=$CONTROL_PANEL_NGINX_DOCKER_RESOLVER dest_file=$SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_HOST_MNT_DIR/$CONTROL_PANEL_CONFIG_FILE - envsubst '${NGW_DOMAIN_NAME},${CP_NGINX_RESOLVER},${NRT_GATEWAY_EXTERNAL_PORT},${POLICY_AGENT_EXTERNAL_SECURE_PORT},${ECS_EXTERNAL_SECURE_PORT},${POLICY_AGENT_DOMAIN_NAME},${ECS_DOMAIN_NAME},${CONTROL_PANEL_PATH_POLICY_PREFIX},${CONTROL_PANEL_PATH_ECS_PREFIX}' < $1 > $dest_file + envsubst '${NGW_DOMAIN_NAME},${CP_NGINX_RESOLVER},${NRT_GATEWAY_EXTERNAL_PORT},${POLICY_AGENT_EXTERNAL_SECURE_PORT},${ECS_EXTERNAL_SECURE_PORT},${POLICY_AGENT_DOMAIN_NAME},${ECS_DOMAIN_NAME},${CONTROL_PANEL_PATH_POLICY_PREFIX},${CONTROL_PANEL_PATH_ECS_PREFIX} ,${CONTROL_PANEL_PATH_ECS_PREFIX2}' < $1 > $dest_file __start_container $CONTROL_PANEL_COMPOSE_DIR "" NODOCKERARGS 1 $CONTROL_PANEL_APP_NAME diff --git a/test/common/test_env-oran-e-release.sh b/test/common/test_env-oran-e-release.sh new file mode 100755 index 00000000..be6c0df0 --- /dev/null +++ b/test/common/test_env-oran-e-release.sh @@ -0,0 +1,445 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2020 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# +#Profile for ORAN Cherry +TEST_ENV_PROFILE="ORAN-E-RELEASE" +FLAVOUR="ORAN" + +######################################## +## Nexus repo settings +######################################## + +# Nexus repos for developed images +NEXUS_PROXY_REPO="nexus3.o-ran-sc.org:10001/" +NEXUS_RELEASE_REPO="nexus3.o-ran-sc.org:10002/" +NEXUS_SNAPSHOT_REPO="nexus3.o-ran-sc.org:10003/" +NEXUS_STAGING_REPO="nexus3.o-ran-sc.org:10004/" + +# Nexus repos for images used by test (not developed by the project) +NEXUS_RELEASE_REPO_ONAP="nexus3.onap.org:10002/" # Only for released ONAP images +NEXUS_RELEASE_REPO_ORAN=$NEXUS_RELEASE_REPO + +######################################## +# Set up of image and tags for the test. +######################################## + +# NOTE: One environment variable containing the image name and tag is create by the test script +# for each image from the env variables below. +# The variable is created by removing the suffix "_BASE" from the base image variable name. +# Example: POLICY_AGENT_IMAGE_BASE -> POLICY_AGENT_IMAGE +# This var will point to the local or remote image depending on cmd line arguments. +# In addition, the repo and the image tag version are selected from the list of image tags based on the cmd line argurment. +# For images built by the script, only tag #1 shall be specified +# For project images, only tag #1, #2, #3 and #4 shall be specified +# For ORAN images (non project), only tag #5 shall be specified +# For ONAP images (non project), only tag #6 shall be specified +# For all other images, only tag #7 shall be specified +# 1 XXX_LOCAL: local images: : +# 2 XXX_REMOTE_SNAPSHOT: snapshot images: : +# 3 XXX_REMOTE: staging images: : +# 4 XXX_REMOTE_RELEASE: release images: : +# 5 XXX_REMOTE_RELEASE_ORAN: ORAN release images: : +# 6 XXX_REMOTE_RELEASE_ONAP: ONAP release images: : +# 7 XXX_PROXY: other images, not produced by the project: : + + +# Policy Agent base image and tags +POLICY_AGENT_IMAGE_BASE="o-ran-sc/nonrtric-policy-agent" +POLICY_AGENT_IMAGE_TAG_LOCAL="2.3.0-SNAPSHOT" +POLICY_AGENT_IMAGE_TAG_REMOTE_SNAPSHOT="2.3.0-SNAPSHOT" +POLICY_AGENT_IMAGE_TAG_REMOTE="2.3.0" +POLICY_AGENT_IMAGE_TAG_REMOTE_RELEASE="2.3.0" + +# ECS image and tags +ECS_IMAGE_BASE="o-ran-sc/nonrtric-enrichment-coordinator-service" +ECS_IMAGE_TAG_LOCAL="1.2.0-SNAPSHOT" +ECS_IMAGE_TAG_REMOTE_SNAPSHOT="1.2.0-SNAPSHOT" +ECS_IMAGE_TAG_REMOTE="1.2.0" +ECS_IMAGE_TAG_REMOTE_RELEASE="1.2.0" +#Note: Update var ECS_FEATURE_LEVEL if image version is changed + +#Control Panel image and tags +CONTROL_PANEL_IMAGE_BASE="o-ran-sc/nonrtric-controlpanel" +CONTROL_PANEL_IMAGE_TAG_LOCAL="2.3.0-SNAPSHOT" +CONTROL_PANEL_IMAGE_TAG_REMOTE_SNAPSHOT="2.3.0-SNAPSHOT" +CONTROL_PANEL_IMAGE_TAG_REMOTE="2.3.0" +CONTROL_PANEL_IMAGE_TAG_REMOTE_RELEASE="2.3.0" + + +# Gateway image and tags +NRT_GATEWAY_IMAGE_BASE="o-ran-sc/nonrtric-gateway" +NRT_GATEWAY_IMAGE_TAG_LOCAL="1.1.0-SNAPSHOT" +NRT_GATEWAY_IMAGE_TAG_REMOTE_SNAPSHOT="1.1.0-SNAPSHOT" +NRT_GATEWAY_IMAGE_TAG_REMOTE="1.1.0" +NRT_GATEWAY_IMAGE_TAG_REMOTE_RELEASE="1.1.0" + + +# SDNC A1 Controller image and tags - Note using ONAP image +SDNC_A1_CONTROLLER_IMAGE_BASE="onap/sdnc-image" +SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_RELEASE_ONAP="2.1.2" +#No local image for ONAP SDNC, remote release image always used + +# ORAN SDNC adapter kept as reference +# SDNC A1 Controller image and tags - still using cherry version, no new version for D-Release +#SDNC_A1_CONTROLLER_IMAGE_BASE="o-ran-sc/nonrtric-a1-controller" +#SDNC_A1_CONTROLLER_IMAGE_TAG_LOCAL="2.0.1-SNAPSHOT" +#SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_SNAPSHOT="2.0.1-SNAPSHOT" +#SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE="2.0.1" +#SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_RELEASE="2.0.1" + +#SDNC DB remote image and tag +#The DB is part of SDNC so handled in the same way as SDNC +SDNC_DB_IMAGE_BASE="mariadb" +SDNC_DB_IMAGE_TAG_REMOTE_PROXY="10.5" + +#Older SDNC db image kept for reference +#SDNC DB remote image and tag +#SDNC_DB_IMAGE_BASE="mysql/mysql-server" +#SDNC_DB_IMAGE_TAG_REMOTE_PROXY="5.6" +#No local image for SSDNC DB, remote image always used + + +# RAPP Catalogue image and tags +RAPP_CAT_IMAGE_BASE="o-ran-sc/nonrtric-r-app-catalogue" +RAPP_CAT_IMAGE_TAG_LOCAL="1.1.0-SNAPSHOT" +RAPP_CAT_IMAGE_TAG_REMOTE_SNAPSHOT="1.1.0-SNAPSHOT" +RAPP_CAT_IMAGE_TAG_REMOTE="1.1.0" +RAPP_CAT_IMAGE_TAG_REMOTE_RELEASE="1.1.0" + + +# Near RT RIC Simulator image and tags - same version as cherry +RIC_SIM_IMAGE_BASE="o-ran-sc/a1-simulator" +RIC_SIM_IMAGE_TAG_LOCAL="latest" +RIC_SIM_IMAGE_TAG_REMOTE_SNAPSHOT="2.1.0-SNAPSHOT" +RIC_SIM_IMAGE_TAG_REMOTE="2.1.0" +RIC_SIM_IMAGE_TAG_REMOTE_RELEASE="2.1.0" + + +#Consul remote image and tag +CONSUL_IMAGE_BASE="consul" +CONSUL_IMAGE_TAG_REMOTE_PROXY="1.7.2" +#No local image for Consul, remote image always used + + +#CBS remote image and tag +CBS_IMAGE_BASE="onap/org.onap.dcaegen2.platform.configbinding.app-app" +CBS_IMAGE_TAG_REMOTE_RELEASE_ONAP="2.3.0" +#No local image for CBS, remote image always used + + +#MR stub image and tag +MRSTUB_IMAGE_BASE="mrstub" +MRSTUB_IMAGE_TAG_LOCAL="latest" +#No remote image for MR stub, local image always used + + +#Callback receiver image and tag +CR_IMAGE_BASE="callback-receiver" +CR_IMAGE_TAG_LOCAL="latest" +#No remote image for CR, local image always used + + +#Producer stub image and tag +PROD_STUB_IMAGE_BASE="producer-stub" +PROD_STUB_IMAGE_TAG_LOCAL="latest" +#No remote image for producer stub, local image always used + +#Http proxy remote image and tag +HTTP_PROXY_IMAGE_BASE="nodejs-http-proxy" +HTTP_PROXY_IMAGE_TAG_LOCAL="latest" +#No local image for http proxy, remote image always used + +#ONAP Zookeeper remote image and tag +ONAP_ZOOKEEPER_IMAGE_BASE="onap/dmaap/zookeeper" +ONAP_ZOOKEEPER_IMAGE_TAG_REMOTE_RELEASE_ONAP="6.0.3" +#No local image for ONAP Zookeeper, remote image always used + +#ONAP Kafka remote image and tag +ONAP_KAFKA_IMAGE_BASE="onap/dmaap/kafka111" +ONAP_KAFKA_IMAGE_TAG_REMOTE_RELEASE_ONAP="1.0.4" +#No local image for ONAP Kafka, remote image always used + +#ONAP DMAAP-MR remote image and tag +ONAP_DMAAPMR_IMAGE_BASE="onap/dmaap/dmaap-mr" +ONAP_DMAAPMR_IMAGE_TAG_REMOTE_RELEASE_ONAP="1.1.18" +#No local image for ONAP DMAAP-MR, remote image always used + +#Kube proxy remote image and tag +KUBE_PROXY_IMAGE_BASE="nodejs-kube-proxy" +KUBE_PROXY_IMAGE_TAG_LOCAL="latest" +#No remote image for kube proxy, local image always used + +# List of app short names produced by the project +PROJECT_IMAGES_APP_NAMES="PA ECS CP RC RICSIM NGW" # Add SDNC here if oran image is used + +# List of app short names which images pulled from ORAN +ORAN_IMAGES_APP_NAMES="" # Not used + +# List of app short names which images pulled from ONAP +ONAP_IMAGES_APP_NAMES="CBS DMAAPMR SDNC" # SDNC added as ONAP image + + +######################################## +# Detailed settings per app +######################################## + +DOCKER_SIM_NWNAME="nonrtric-docker-net" # Name of docker private network + +KUBE_NONRTRIC_NAMESPACE="nonrtric" # Namespace for all nonrtric components +KUBE_SIM_NAMESPACE="nonrtric-ft" # Namespace for simulators (except MR and RICSIM) +KUBE_ONAP_NAMESPACE="onap" # Namespace for onap (only message router) + +POLICY_AGENT_EXTERNAL_PORT=8081 # Policy Agent container external port (host -> container) +POLICY_AGENT_INTERNAL_PORT=8081 # Policy Agent container internal port (container -> container) +POLICY_AGENT_EXTERNAL_SECURE_PORT=8433 # Policy Agent container external secure port (host -> container) +POLICY_AGENT_INTERNAL_SECURE_PORT=8433 # Policy Agent container internal secure port (container -> container) +POLICY_AGENT_APIS="V1 V2" # Supported northbound api versions +PMS_VERSION="V2" # Tested version of northbound API +PMS_API_PREFIX="/a1-policy" # api url prefix, only for V2 + +POLICY_AGENT_APP_NAME="policymanagementservice" # Name for Policy Agent container +POLICY_AGENT_DISPLAY_NAME="Policy Management Service" +POLICY_AGENT_HOST_MNT_DIR="./mnt" # Mounted dir, relative to compose file, on the host +POLICY_AGENT_LOGPATH="/var/log/policy-agent/application.log" # Path the application log in the Policy Agent container +POLICY_AGENT_APP_NAME_ALIAS="policy-agent-container" # Alias name, name used by the control panel +POLICY_AGENT_CONFIG_KEY="policy-agent" # Key for consul config +POLICY_AGENT_PKG_NAME="org.onap.ccsdk.oran.a1policymanagementservice" # Java base package name +POLICY_AGENT_ACTUATOR="/actuator/loggers/$POLICY_AGENT_PKG_NAME" # Url for trace/debug +POLICY_AGENT_ALIVE_URL="$PMS_API_PREFIX/v2/status" # Base path for alive check +POLICY_AGENT_COMPOSE_DIR="policy_agent" # Dir in simulator_group for docker-compose +POLICY_AGENT_CONFIG_MOUNT_PATH="/opt/app/policy-agent/config" # Path in container for config file +POLICY_AGENT_DATA_MOUNT_PATH="/opt/app/policy-agent/data" # Path in container for data file +POLICY_AGENT_CONFIG_FILE="application.yaml" # Container config file name +POLICY_AGENT_DATA_FILE="application_configuration.json" # Container data file name +POLICY_AGENT_CONTAINER_MNT_DIR="/var/policy-management-service" # Mounted dir in the container +POLICY_AGENT_CONTAINER_MNT_DIR="/var/policy-management-service" # Mounted dir in the container + +ECS_APP_NAME="enrichmentservice" # Name for ECS container +ECS_DISPLAY_NAME="Enrichment Coordinator Service" # Display name for ECS container +ECS_EXTERNAL_PORT=8083 # ECS container external port (host -> container) +ECS_INTERNAL_PORT=8083 # ECS container internal port (container -> container) +ECS_EXTERNAL_SECURE_PORT=8434 # ECS container external secure port (host -> container) +ECS_INTERNAL_SECURE_PORT=8434 # ECS container internal secure port (container -> container) + +ECS_LOGPATH="/var/log/enrichment-coordinator-service/application.log" # Path the application log in the ECS container +ECS_APP_NAME_ALIAS="enrichment-service-container" # Alias name, name used by the control panel +ECS_HOST_MNT_DIR="./mnt" # Mounted db dir, relative to compose file, on the host +ECS_CONTAINER_MNT_DIR="/var/enrichment-coordinator-service" # Mounted dir in the container +ECS_ACTUATOR="/actuator/loggers/org.oransc.enrichment" # Url for trace/debug +ECS_CERT_MOUNT_DIR="./cert" +ECS_ALIVE_URL="/status" # Base path for alive check +ECS_COMPOSE_DIR="ecs" # Dir in simulator_group for docker-compose +ECS_CONFIG_MOUNT_PATH=/opt/app/enrichment-coordinator-service/config # Internal container path for configuration +ECS_CONFIG_FILE=application.yaml # Config file name +ECS_VERSION="V1-2" # Version where the types are decoupled from the producer registration +ECS_FEATURE_LEVEL="INFO-TYPES" # Space separated list of features + +MR_DMAAP_APP_NAME="dmaap-mr" # Name for the Dmaap MR +MR_STUB_APP_NAME="mr-stub" # Name of the MR stub +MR_DMAAP_DISPLAY_NAME="DMAAP Message Router" +MR_STUB_DISPLAY_NAME="Message Router stub" +MR_STUB_CERT_MOUNT_DIR="./cert" +MR_EXTERNAL_PORT=3904 # MR dmaap/stub container external port +MR_INTERNAL_PORT=3904 # MR dmaap/stub container internal port +MR_EXTERNAL_SECURE_PORT=3905 # MR dmaap/stub container external secure port +MR_INTERNAL_SECURE_PORT=3905 # MR dmaap/stub container internal secure port +MR_DMAAP_LOCALHOST_PORT=3904 # MR stub container external port (host -> container) +MR_STUB_LOCALHOST_PORT=3908 # MR stub container external port (host -> container) +MR_DMAAP_LOCALHOST_SECURE_PORT=3905 # MR stub container internal port (container -> container) +MR_STUB_LOCALHOST_SECURE_PORT=3909 # MR stub container external secure port (host -> container) +MR_READ_TOPIC="A1-POLICY-AGENT-READ" # Read topic +MR_WRITE_TOPIC="A1-POLICY-AGENT-WRITE" # Write topic +MR_READ_URL="/events/$MR_READ_TOPIC/users/policy-agent?timeout=15000&limit=100" # Path to read messages from MR +MR_WRITE_URL="/events/$MR_WRITE_TOPIC" # Path to write messages to MR +MR_STUB_ALIVE_URL="/" # Base path for mr stub alive check +MR_DMAAP_ALIVE_URL="/topics" # Base path for dmaap-mr alive check +MR_DMAAP_COMPOSE_DIR="dmaapmr" # Dir in simulator_group for dmaap mr for - docker-compose +MR_STUB_COMPOSE_DIR="mrstub" # Dir in simulator_group for mr stub for - docker-compose +MR_KAFKA_APP_NAME="kafka" # Kafka app name +MR_ZOOKEEPER_APP_NAME="zookeeper" # Zookeeper app name + + +CR_APP_NAME="callback-receiver" # Name for the Callback receiver +CR_DISPLAY_NAME="Callback receiver" +CR_EXTERNAL_PORT=8090 # Callback receiver container external port (host -> container) +CR_INTERNAL_PORT=8090 # Callback receiver container internal port (container -> container) +CR_EXTERNAL_SECURE_PORT=8091 # Callback receiver container external secure port (host -> container) +CR_INTERNAL_SECURE_PORT=8091 # Callback receiver container internal secure port (container -> container) +CR_APP_CALLBACK="/callbacks" # Url for callbacks +CR_ALIVE_URL="/" # Base path for alive check +CR_COMPOSE_DIR="cr" # Dir in simulator_group for docker-compose + +PROD_STUB_APP_NAME="producer-stub" # Name for the Producer stub +PROD_STUB_DISPLAY_NAME="Producer Stub" +PROD_STUB_EXTERNAL_PORT=8092 # Producer stub container external port (host -> container) +PROD_STUB_INTERNAL_PORT=8092 # Producer stub container internal port (container -> container) +PROD_STUB_EXTERNAL_SECURE_PORT=8093 # Producer stub container external secure port (host -> container) +PROD_STUB_INTERNAL_SECURE_PORT=8093 # Producer stub container internal secure port (container -> container) +PROD_STUB_JOB_CALLBACK="/callbacks/job" # Callback path for job create/update/delete +PROD_STUB_SUPERVISION_CALLBACK="/callbacks/supervision" # Callback path for producre supervision +PROD_STUB_ALIVE_URL="/" # Base path for alive check +PROD_STUB_COMPOSE_DIR="prodstub" # Dir in simulator_group for docker-compose + +CONSUL_HOST="consul-server" # Host name of consul +CONSUL_DISPLAY_NAME="Consul" +CONSUL_EXTERNAL_PORT=8500 # Consul container external port (host -> container) +CONSUL_INTERNAL_PORT=8500 # Consul container internal port (container -> container) +CONSUL_APP_NAME="polman-consul" # Name for consul container +CONSUL_ALIVE_URL="/ui/dc1/kv" # Base path for alive check +CONSUL_CBS_COMPOSE_DIR="consul_cbs" # Dir in simulator group for docker compose + +CBS_APP_NAME="polman-cbs" # Name for CBS container +CBS_DISPLAY_NAME="Config Binding Service" +CBS_EXTERNAL_PORT=10000 # CBS container external port (host -> container) +CBS_INTERNAL_PORT=10000 # CBS container internal port (container -> container) +CONFIG_BINDING_SERVICE="config-binding-service" # Host name of CBS +CBS_ALIVE_URL="/healthcheck" # Base path for alive check + +RIC_SIM_DISPLAY_NAME="Near-RT RIC A1 Simulator" +RIC_SIM_BASE="g" # Base name of the RIC Simulator container, shall be the group code + # Note, a prefix is added to each container name by the .env file in the 'ric' dir +RIC_SIM_PREFIX="ricsim" # Prefix added to ric container name, added in the .env file in the 'ric' dir + # This prefix can be changed from the command line +RIC_SIM_INTERNAL_PORT=8085 # RIC Simulator container internal port (container -> container). + # (external ports allocated by docker) +RIC_SIM_INTERNAL_SECURE_PORT=8185 # RIC Simulator container internal secure port (container -> container). + # (external ports allocated by docker) +RIC_SIM_CERT_MOUNT_DIR="./cert" + +RIC_SIM_COMPOSE_DIR="ric" # Dir in simulator group for docker compose +RIC_SIM_ALIVE_URL="/" # Base path for alive check + +# Kept as reference for oran a1 adapter +# SDNC_APP_NAME="a1controller" # Name of the SNDC A1 Controller container +# SDNC_DISPLAY_NAME="SDNC A1 Controller" +# SDNC_EXTERNAL_PORT=8282 # SNDC A1 Controller container external port (host -> container) +# SDNC_INTERNAL_PORT=8181 # SNDC A1 Controller container internal port (container -> container) +# SDNC_EXTERNAL_SECURE_PORT=8443 # SNDC A1 Controller container external securee port (host -> container) +# SDNC_INTERNAL_SECURE_PORT=8443 # SNDC A1 Controller container internal secure port (container -> container) +# SDNC_DB_APP_NAME="sdncdb" # Name of the SDNC DB container +# SDNC_A1_TRUSTSTORE_PASSWORD="" # SDNC truststore password +# SDNC_USER="admin" # SDNC username +# SDNC_PWD="Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" # SNDC PWD +# SDNC_API_URL="/restconf/operations/A1-ADAPTER-API:" # Base url path for SNDC API +# SDNC_ALIVE_URL="/apidoc/explorer/" # Base url path for SNDC API docs (for alive check) +# SDNC_COMPOSE_DIR="sdnc" # Dir in simulator_group for docker-compose +# SDNC_COMPOSE_FILE="docker-compose.yml" +# SDNC_KUBE_APP_FILE="app.yaml" +# SDNC_KARAF_LOG="/opt/opendaylight/data/log/karaf.log" # Path to karaf log +# SDNC_RESPONSE_JSON_KEY="output" # Key name for output json in replies from sdnc + +# For ONAP sdan +SDNC_APP_NAME="a1controller" # Name of the SNDC A1 Controller container +SDNC_DISPLAY_NAME="SDNC A1 Controller" +SDNC_EXTERNAL_PORT=8282 # SNDC A1 Controller container external port (host -> container) +SDNC_INTERNAL_PORT=8181 # SNDC A1 Controller container internal port (container -> container) +SDNC_EXTERNAL_SECURE_PORT=8443 # SNDC A1 Controller container external securee port (host -> container) +SDNC_INTERNAL_SECURE_PORT=8443 # SNDC A1 Controller container internal secure port (container -> container) +SDNC_DB_APP_NAME="sdncdb" # Name of the SDNC DB container +SDNC_A1_TRUSTSTORE_PASSWORD="a1adapter" # SDNC truststore password +SDNC_USER="admin" # SDNC username +SDNC_PWD="admin" # SNDC PWD +SDNC_PWD="Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" # SNDC PWD +#SDNC_API_URL="/rests/operations/A1-ADAPTER-API:" # Base url path for SNDC API (for upgraded sdnc) +SDNC_API_URL="/restconf/operations/A1-ADAPTER-API:" # Base url path for SNDC API +SDNC_ALIVE_URL="/apidoc/explorer/" # Base url path for SNDC API docs (for alive check) +SDNC_COMPOSE_DIR="sdnc" +SDNC_COMPOSE_FILE="docker-compose-2.yml" +SDNC_KUBE_APP_FILE="app2.yaml" +SDNC_KARAF_LOG="/opt/opendaylight/data/log/karaf.log" # Path to karaf log +#SDNC_RESPONSE_JSON_KEY="A1-ADAPTER-API:output" # Key name for output json in replies from sdnc (for upgraded sdnc) +SDNC_RESPONSE_JSON_KEY="output" # Key name for output json in replies from sdnc + +RAPP_CAT_APP_NAME="rappcatalogueservice" # Name for the RAPP Catalogue +RAPP_CAT_DISPLAY_NAME="RAPP Catalogue" +RAPP_CAT_EXTERNAL_PORT=8680 # RAPP Catalogue container external port (host -> container) +RAPP_CAT_INTERNAL_PORT=8680 # RAPP Catalogue container internal port (container -> container) +RAPP_CAT_EXTERNAL_SECURE_PORT=8633 # RAPP Catalogue container external secure port (host -> container) +RAPP_CAT_INTERNAL_SECURE_PORT=8633 # RAPP Catalogue container internal secure port (container -> container) +RAPP_CAT_ALIVE_URL="/services" # Base path for alive check +RAPP_CAT_COMPOSE_DIR="rapp_catalogue" # Dir in simulator_group for docker-compose + +CONTROL_PANEL_APP_NAME="controlpanel" # Name of the Control Panel container +CONTROL_PANEL_DISPLAY_NAME="Control Panel" +CONTROL_PANEL_EXTERNAL_PORT=8080 # Control Panel container external port (host -> container) +CONTROL_PANEL_INTERNAL_PORT=8080 # Control Panel container internal port (container -> container) +CONTROL_PANEL_EXTERNAL_SECURE_PORT=8880 # Control Panel container external port (host -> container) +CONTROL_PANEL_INTERNAL_SECURE_PORT=8082 # Control Panel container internal port (container -> container) +CONTROL_PANEL_LOGPATH="/var/log/nonrtric-gateway/application.log" # Path the application log in the Control Panel container +CONTROL_PANEL_ALIVE_URL="/" # Base path for alive check +CONTROL_PANEL_COMPOSE_DIR="control_panel" # Dir in simulator_group for docker-compose +CONTROL_PANEL_CONFIG_FILE=nginx.conf # Config file name +CONTROL_PANEL_HOST_MNT_DIR="./mnt" # Mounted dir, relative to compose file, on the host +CONTROL_PANEL_CONFIG_MOUNT_PATH=/etc/nginx # Container internal path for config +CONTROL_PANEL_NGINX_KUBE_RESOLVER="kube-dns.kube-system.svc.cluster.local valid=5s" #nginx resolver for kube +CONTROL_PANEL_NGINX_DOCKER_RESOLVER="127.0.0.11" # nginx resolver for docker +CONTROL_PANEL_PATH_POLICY_PREFIX="/a1-policy/" # Path prefix for forwarding policy calls to NGW +CONTROL_PANEL_PATH_ECS_PREFIX="/data-producer/" # Path prefix for forwarding ecs calls to NGW +CONTROL_PANEL_PATH_ECS_PREFIX2="/data-consumer/" # Path prefix for forwarding ecs calls to NGW + +NRT_GATEWAY_APP_NAME="nonrtricgateway" # Name of the Gateway container +NRT_GATEWAY_DISPLAY_NAME="NonRT-RIC Gateway" +NRT_GATEWAY_EXTERNAL_PORT=9090 # Gateway container external port (host -> container) +NRT_GATEWAY_INTERNAL_PORT=9090 # Gateway container internal port (container -> container) +NRT_GATEWAY_EXTERNAL_SECURE_PORT=9091 # Gateway container external port (host -> container) +NRT_GATEWAY_INTERNAL_SECURE_PORT=9091 # Gateway container internal port (container -> container) +NRT_GATEWAY_LOGPATH="/var/log/nonrtric-gateway/application.log" # Path the application log in the Gateway container +NRT_GATEWAY_HOST_MNT_DIR="./mnt" # Mounted dir, relative to compose file, on the host +NRT_GATEWAY_ALIVE_URL="/actuator/metrics" # Base path for alive check +NRT_GATEWAY_COMPOSE_DIR="ngw" # Dir in simulator_group for docker-compose +NRT_GATEWAY_CONFIG_MOUNT_PATH=/opt/app/nonrtric-gateway/config # Container internal path for config +NRT_GATEWAY_CONFIG_FILE=application.yaml # Config file name +NRT_GATEWAY_PKG_NAME="org.springframework.cloud.gateway" # Java base package name +NRT_GATEWAY_ACTUATOR="/actuator/loggers/$NRT_GATEWAY_PKG_NAME" # Url for trace/debug + +HTTP_PROXY_APP_NAME="httpproxy" # Name of the Http Proxy container +HTTP_PROXY_DISPLAY_NAME="Http Proxy" +HTTP_PROXY_EXTERNAL_PORT=8740 # Http Proxy container external port (host -> container) +HTTP_PROXY_INTERNAL_PORT=8080 # Http Proxy container internal port (container -> container) +HTTP_PROXY_EXTERNAL_SECURE_PORT=8742 # Http Proxy container external secure port (host -> container) +HTTP_PROXY_INTERNAL_SECURE_PORT=8433 # Http Proxy container internal secure port (container -> container) +HTTP_PROXY_WEB_EXTERNAL_PORT=8741 # Http Proxy container external port (host -> container) +HTTP_PROXY_WEB_INTERNAL_PORT=8081 # Http Proxy container internal port (container -> container) +HTTP_PROXY_WEB_EXTERNAL_SECURE_PORT=8743 # Http Proxy container external secure port (host -> container) +HTTP_PROXY_WEB_INTERNAL_SECURE_PORT=8434 # Http Proxy container internal secure port (container -> container +HTTP_PROXY_CONFIG_PORT=0 # Port number for proxy config, will be set if proxy is started +HTTP_PROXY_CONFIG_HOST_NAME="" # Proxy host, will be set if proxy is started +HTTP_PROXY_ALIVE_URL="/" # Base path for alive check +HTTP_PROXY_COMPOSE_DIR="httpproxy" # Dir in simulator_group for docker-compose +HTTP_PROXY_BUILD_DIR="http-https-proxy" # Dir in simulator_group for image build - note, reuses source from kubeproxy + +KUBE_PROXY_APP_NAME="kubeproxy" # Name of the Kube Http Proxy container +KUBE_PROXY_DISPLAY_NAME="Kube Http Proxy" +KUBE_PROXY_EXTERNAL_PORT=8730 # Kube Http Proxy container external port (host -> container) +KUBE_PROXY_INTERNAL_PORT=8080 # Kube Http Proxy container internal port (container -> container) +KUBE_PROXY_EXTERNAL_SECURE_PORT=8782 # Kube Proxy container external secure port (host -> container) +KUBE_PROXY_INTERNAL_SECURE_PORT=8433 # Kube Proxy container internal secure port (container -> container) +KUBE_PROXY_WEB_EXTERNAL_PORT=8731 # Kube Http Proxy container external port (host -> container) +KUBE_PROXY_WEB_INTERNAL_PORT=8081 # Kube Http Proxy container internal port (container -> container) +KUBE_PROXY_WEB_EXTERNAL_SECURE_PORT=8783 # Kube Proxy container external secure port (host -> container) +KUBE_PROXY_WEB_INTERNAL_SECURE_PORT=8434 # Kube Proxy container internal secure port (container -> container +KUBE_PROXY_PATH="" # Proxy url path, will be set if proxy is started +KUBE_PROXY_ALIVE_URL="/" # Base path for alive check +KUBE_PROXY_COMPOSE_DIR="kubeproxy" # Dir in simulator_group for docker-compose + +######################################## +# Setting for common curl-base function +######################################## + +UUID="" # UUID used as prefix to the policy id to simulate a real UUID + # Testscript need to set the UUID otherwise this empty prefix is used diff --git a/test/common/testcase_common.sh b/test/common/testcase_common.sh index 66cbd96b..702fbf8c 100755 --- a/test/common/testcase_common.sh +++ b/test/common/testcase_common.sh @@ -27,7 +27,7 @@ __print_args() { echo "Args: remote|remote-remove docker|kube --env-file [release] [auto-clean] [--stop-at-error] " echo " [--ricsim-prefix ] [--use-local-image +] [--use-snapshot-image +]" echo " [--use-staging-image +] [--use-release-image +] [--image-repo ]" + echo " [--repo-policy local|remote] [--cluster-timeout ] [--print-stats]" } if [ $# -eq 1 ] && [ "$1" == "help" ]; then @@ -55,6 +55,8 @@ if [ $# -eq 1 ] && [ "$1" == "help" ]; then echo "--image-repo - Url to optional image repo. Only locally built images will be re-tagged and pushed to this repo" echo "--repo-policy - Policy controlling which images to re-tag and push if param --image-repo is set. Default is 'local'" echo "--cluster-timeout - Optional timeout for cluster where it takes time to obtain external ip/host-name. Timeout in seconds. " + echo "--print-stats - Print current test stats after each test." + echo "" echo "List of app short names supported: "$APP_SHORT_NAMES exit 0 @@ -194,6 +196,9 @@ RES_FAIL=0 RES_CONF_FAIL=0 RES_DEVIATION=0 +#Var to control if current stats shall be printed +PRINT_CURRENT_STATS=0 + #File to keep deviation messages DEVIATION_FILE=".tmp_deviations" rm $DEVIATION_FILE &> /dev/null @@ -204,6 +209,7 @@ trap_fnc() { if [ $? -eq 127 ]; then echo -e $RED"Function not found, setting script to FAIL"$ERED ((RES_CONF_FAIL++)) + __print_current_stats fi } trap trap_fnc ERR @@ -220,10 +226,18 @@ __log_test_start() { ((TEST_SEQUENCE_NR++)) } +# Function to print current statistics +__print_current_stats() { + if [ $PRINT_CURRENT_STATS -ne 0 ]; then + echo " Currrent stats - tests, passes, fails, conf fails, deviations: $RES_TEST, $RES_PASS, $RES_FAIL, $RES_CONF_FAIL, $RES_DEVIATION" + fi +} + # General function to log a failed test case __log_test_fail_general() { echo -e $RED" FAIL."$1 $ERED ((RES_FAIL++)) + __print_current_stats __check_stop_at_error } @@ -231,6 +245,7 @@ __log_test_fail_general() { __log_test_fail_status_code() { echo -e $RED" FAIL. Exepected status "$1", got "$2 $3 $ERED ((RES_FAIL++)) + __print_current_stats __check_stop_at_error } @@ -238,6 +253,7 @@ __log_test_fail_status_code() { __log_test_fail_body() { echo -e $RED" FAIL, returned body not correct"$ERED ((RES_FAIL++)) + __print_current_stats __check_stop_at_error } @@ -245,6 +261,7 @@ __log_test_fail_body() { __log_test_fail_not_supported() { echo -e $RED" FAIL, function not supported"$ERED ((RES_FAIL++)) + __print_current_stats __check_stop_at_error } @@ -255,6 +272,7 @@ __log_test_pass() { fi ((RES_PASS++)) echo -e $GREEN" PASS"$EGREEN + __print_current_stats } #Counter for configurations @@ -272,6 +290,7 @@ __log_conf_start() { __log_conf_fail_general() { echo -e $RED" FAIL."$1 $ERED ((RES_CONF_FAIL++)) + __print_current_stats __check_stop_at_error } @@ -279,6 +298,7 @@ __log_conf_fail_general() { __log_conf_fail_status_code() { echo -e $RED" FAIL. Exepected status "$1", got "$2 $3 $ERED ((RES_CONF_FAIL++)) + __print_current_stats __check_stop_at_error } @@ -286,6 +306,7 @@ __log_conf_fail_status_code() { __log_conf_fail_body() { echo -e $RED" FAIL, returned body not correct"$ERED ((RES_CONF_FAIL++)) + __print_current_stats __check_stop_at_error } @@ -295,6 +316,7 @@ __log_conf_ok() { echo $@ fi echo -e $GREEN" OK"$EGREEN + __print_current_stats } #Var for measuring execution time @@ -576,6 +598,14 @@ while [ $paramerror -eq 0 ] && [ $foundparm -eq 0 ]; do fi fi fi + if [ $paramerror -eq 0 ]; then + if [ "$1" == "--print-stats" ]; then + PRINT_CURRENT_STATS=1 + echo "Option set - Print stats" + shift; + foundparm=0 + fi + fi done echo "" @@ -1506,6 +1536,7 @@ deviation() { ((RES_DEVIATION++)) echo -e $BOLD$YELLOW" Test case deviation: ${@:1}"$EYELLOW$EBOLD echo "Line: ${BASH_LINENO[0]} - ${@:1}" >> $DEVIATION_FILE + __print_current_stats echo "" } @@ -2496,6 +2527,7 @@ __var_test() { if [ $duration -gt $6 ]; then ((RES_FAIL++)) echo -e $RED" FAIL${ERED} - ${3} ${4} ${5} not reached in ${6} seconds, result = ${result}" + __print_current_stats __check_stop_at_error return fi @@ -2503,26 +2535,31 @@ __var_test() { ((RES_PASS++)) echo -e " Result=${result} after ${duration} seconds${SAMELINE}" echo -e $GREEN" PASS${EGREEN} - Result=${result} after ${duration} seconds" + __print_current_stats return elif [ $4 = ">" ] && [ "$result" -gt $5 ]; then ((RES_PASS++)) echo -e " Result=${result} after ${duration} seconds${SAMELINE}" echo -e $GREEN" PASS${EGREEN} - Result=${result} after ${duration} seconds" + __print_current_stats return elif [ $4 = "<" ] && [ "$result" -lt $5 ]; then ((RES_PASS++)) echo -e " Result=${result} after ${duration} seconds${SAMELINE}" echo -e $GREEN" PASS${EGREEN} - Result=${result} after ${duration} seconds" + __print_current_stats return elif [ $4 = "contain_str" ] && [[ $result =~ $5 ]]; then ((RES_PASS++)) echo -e " Result=${result} after ${duration} seconds${SAMELINE}" echo -e $GREEN" PASS${EGREEN} - Result=${result} after ${duration} seconds" + __print_current_stats return else if [ $duration -gt $6 ]; then ((RES_FAIL++)) echo -e $RED" FAIL${ERED} - ${3} ${4} ${5} not reached in ${6} seconds, result = ${result}" + __print_current_stats __check_stop_at_error return fi @@ -2551,22 +2588,28 @@ __var_test() { if [ $retcode -ne 0 ]; then ((RES_FAIL++)) echo -e $RED" FAIL ${ERED}- ${3} ${4} ${5} not reached, result = ${result}" + __print_current_stats __check_stop_at_error elif [ $4 = "=" ] && [ "$result" -eq $5 ]; then ((RES_PASS++)) echo -e $GREEN" PASS${EGREEN} - Result=${result}" + __print_current_stats elif [ $4 = ">" ] && [ "$result" -gt $5 ]; then ((RES_PASS++)) echo -e $GREEN" PASS${EGREEN} - Result=${result}" + __print_current_stats elif [ $4 = "<" ] && [ "$result" -lt $5 ]; then ((RES_PASS++)) echo -e $GREEN" PASS${EGREEN} - Result=${result}" + __print_current_stats elif [ $4 = "contain_str" ] && [[ $result =~ $5 ]]; then ((RES_PASS++)) echo -e $GREEN" PASS${EGREEN} - Result=${result}" + __print_current_stats else ((RES_FAIL++)) echo -e $RED" FAIL${ERED} - ${3} ${4} ${5} not reached, result = ${result}" + __print_current_stats __check_stop_at_error fi else diff --git a/test/simulator-group/control_panel/nginx.conf b/test/simulator-group/control_panel/nginx.conf index 0a15a484..1672ad02 100644 --- a/test/simulator-group/control_panel/nginx.conf +++ b/test/simulator-group/control_panel/nginx.conf @@ -34,6 +34,10 @@ http { set $upstream ${NGW_DOMAIN_NAME}; proxy_pass http://$upstream:${NRT_GATEWAY_EXTERNAL_PORT}; } + location ${CONTROL_PANEL_PATH_ECS_PREFIX2} { + set $upstream ${NGW_DOMAIN_NAME}; + proxy_pass http://$upstream:${NRT_GATEWAY_EXTERNAL_PORT}; + } location / { try_files $uri $uri/ /index.html; } -- 2.16.6