X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fauto-test%2FFTC810.sh;h=2d0430d42e5c1ab0b336f9ba128d1e476dd38ad0;hb=refs%2Fchanges%2F88%2F12388%2F5;hp=2dae7e75e2a35a16273f6666dffe6c6797357804;hpb=cd4d0e141b1e4ab07e8c89da2e002378826b7111;p=nonrtric.git diff --git a/test/auto-test/FTC810.sh b/test/auto-test/FTC810.sh index 2dae7e75..2d0430d4 100755 --- a/test/auto-test/FTC810.sh +++ b/test/auto-test/FTC810.sh @@ -1,7 +1,8 @@ #!/bin/bash # ============LICENSE_START=============================================== -# Copyright (C) 2020 Nordix Foundation. All rights reserved. +# Copyright (C) 2020-2023 Nordix Foundation. All rights reserved. +# Copyright (C) 2023 OpenInfra Foundation Europe. 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. @@ -17,40 +18,66 @@ # ============LICENSE_END================================================= # -TC_ONELINE_DESCR="Repeatedly create and delete policies in each RICs for 24h (or configured number of days). Via agent REST/DMAAP/DMAAP_BATCH and SDNC using http or https" +TC_ONELINE_DESCR="Repeatedly create and delete policies in each RICs for 24h (or configured number of days). Via a1pms REST and with SDNC using http or https" -#App names to exclude checking pulling images for, space separated list -EXCLUDED_IMAGES="SDNC_ONAP" +#App names to include in the test when running docker, space separated list +DOCKER_INCLUDED_IMAGES="CP CR MR A1PMS RICSIM SDNC NGW KUBEPROXY" -. ../common/testcase_common.sh $@ -. ../common/agent_api_functions.sh -. ../common/ricsimulator_api_functions.sh +#App names to include in the test when running kubernetes, space separated list +KUBE_INCLUDED_IMAGES="CP CR MR A1PMS RICSIM SDNC KUBEPROXY NGW" +#Pre-started app (not started by script) to include in the test when running kubernetes, space separated list +KUBE_PRESTARTED_IMAGES="" + +#Ignore image in DOCKER_INCLUDED_IMAGES, KUBE_INCLUDED_IMAGES if +#the image is not configured in the supplied env_file +#Used for images not applicable to all supported profile +CONDITIONALLY_IGNORED_IMAGES="NGW" + +#Supported test environment profiles +SUPPORTED_PROFILES="ONAP-KOHN ONAP-LONDON ONAP-MONTREAL ORAN-G-RELEASE ORAN-H-RELEASE ORAN-I-RELEASE" +#Supported run modes +SUPPORTED_RUNMODES="DOCKER KUBE" + +. ../common/testcase_common.sh $@ + +setup_testenvironment #### TEST BEGIN #### +sim_generate_policy_uuid + #Local vars in test script ########################## -# Path to callback receiver -CR_PATH="http://$CR_APP_NAME:$CR_EXTERNAL_PORT/callbacks" -# Number of RICs per interface type (OSC and STD) -NUM_RICS=30 + +# Number of RICs per interface type (OSC and STD x 2) +NUM_RICS=20 + # Number of policy instances per RIC NUM_INSTANCES=5 DAYS=3 -clean_containers +clean_environment -# use http or https for all apis -HTTPX=https +start_kube_proxy -if [ $HTTPX == "http" ]; then - use_agent_rest_http +# use HTTP or HTTPS for all apis +HTTPX=HTTPS + +if [ $HTTPX == "HTTP" ]; then + use_cr_http + use_a1pms_rest_http use_sdnc_http use_simulator_http else - use_agent_rest_https - use_sdnc_https + use_cr_https + use_a1pms_rest_https + if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then + deviation "SDNC does not support NB https" + use_sdnc_http + else + use_sdnc_https + fi use_simulator_https fi @@ -58,23 +85,41 @@ start_ric_simulators ricsim_g1 $NUM_RICS OSC_2.1.0 start_ric_simulators ricsim_g2 $NUM_RICS STD_1.1.3 -start_mr +start_ric_simulators ricsim_g3 $NUM_RICS STD_2.0.0 + +if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then + : +else + start_mr +fi -start_cr +start_cr 1 -start_consul_cbs +start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE -prepare_consul_config SDNC ".consul_config.json" -consul_config_app ".consul_config.json" +if [ ! -z "$NRT_GATEWAY_APP_NAME" ]; then + start_gateway $SIM_GROUP/$NRT_GATEWAY_COMPOSE_DIR/$NRT_GATEWAY_CONFIG_FILE +fi + +A1PMS_RETRY_CODES=423 +start_a1pms NORPOXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE -start_sdnc -start_control_panel -start_policy_agent +prepare_a1pms_config SDNC ".a1pms_config.json" +if [ $RUNMODE == "KUBE" ]; then + a1pms_load_config ".a1pms_config.json" +else + a1pms_api_put_configuration 200 ".a1pms_config.json" +fi + +start_sdnc +controller_api_wait_for_status_ok 200 ricsim_g1_1 -api_get_status 200 +sleep_wait 120 "Let A1PMS configuration take effect" + +a1pms_api_get_status 200 echo "Print the interface for group 1 simulators, shall be OSC" for ((i=1; i<=$NUM_RICS; i++)) @@ -88,12 +133,24 @@ do sim_print ricsim_g2_$i interface done +echo "Print the interface for group 2 simulators, shall be STD 2" +for ((i=1; i<=$NUM_RICS; i++)) +do + sim_print ricsim_g3_$i interface +done + echo "Load policy type in group 1 simulators" for ((i=1; i<=$NUM_RICS; i++)) do sim_put_policy_type 201 ricsim_g1_$i 1 testdata/OSC/sim_1.json done +echo "Load policy type in group 3 simulators" +for ((i=1; i<=$NUM_RICS; i++)) +do + sim_put_policy_type 201 ricsim_g3_$i STD_QOS2_0.1.0 testdata/STD2/sim_qos2.json +done + echo "Check the number of instances in group 1 simulators, shall be 0" for ((i=1; i<=$NUM_RICS; i++)) do @@ -106,25 +163,39 @@ do sim_equal ricsim_g2_$i num_instances 0 done -echo "Wait for the agent to refresh types from the simulator" -api_equal json:policy_types 2 120 +echo "Check the number of instances in group 3 simulators, shall be 0" +for ((i=1; i<=$NUM_RICS; i++)) +do + sim_equal ricsim_g3_$i num_instances 0 +done + +echo "Wait for the a1pms to refresh types from the simulator" +a1pms_equal json:policy-types 3 300 -echo "Check the number of types in the agent for each ric is 1" +echo "Check the number of types in the a1pms for each ric is 1" for ((i=1; i<=$NUM_RICS; i++)) do - api_equal json:policy_types?ric=ricsim_g1_$i 1 120 + a1pms_equal json:policy-types?ric_id=ricsim_g1_$i 1 120 + a1pms_equal json:policy-types?ric_id=ricsim_g3_$i 1 120 done echo "Register a service" -api_put_service 201 "serv1" 0 "$CR_PATH/1" +a1pms_api_put_service 201 "serv1" 0 "$CR_SERVICE_APP_PATH_0/1" TEST_DURATION=$((24*3600*$DAYS)) + TEST_START=$SECONDS -AGENT_INTERFACES="REST REST_PARALLEL DMAAP DMAAP-BATCH" +if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then + A1PMS_INTERFACES="REST REST_PARALLEL" +else + A1PMS_INTERFACES="REST REST_PARALLEL DMAAP DMAAP-BATCH" +fi MR_MESSAGES=0 +notificationurl=$CR_SERVICE_APP_PATH_0"/test" + while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do echo "" @@ -133,34 +204,40 @@ while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do echo "#########################################################################################################" echo "" - for interface in $AGENT_INTERFACES ; do + for interface in $A1PMS_INTERFACES ; do echo "############################################" - echo "## Testing using agent interface: $interface ##" + echo "## Testing using a1pms interface: $interface ##" echo "############################################" if [ $interface == "REST" ] || [ $interface == "REST_PARALLEL" ]; then - if [ $HTTPX == "http" ]; then - use_agent_rest_http + if [ $HTTPX == "HTTP" ]; then + use_a1pms_rest_http else - use_agent_rest_https + use_a1pms_rest_https fi else - use_agent_dmaap + if [ $HTTPX == "HTTPS" ]; then + echo "Using secure ports towards dmaap" + use_a1pms_dmaap_https + else + echo "Using non-secure ports towards dmaap" + use_a1pms_dmaap_http + fi fi echo "Create $NUM_INSTANCES instances in each OSC RIC" INSTANCE_ID=200000 INSTANCES=0 if [ $interface == "REST_PARALLEL" ]; then - api_put_policy_parallel 201 "serv1" ricsim_g1_ $NUM_RICS 1 $INSTANCE_ID NOTRANSIENT testdata/OSC/pi1_template.json $NUM_INSTANCES 3 + a1pms_api_put_policy_parallel 201 "serv1" ricsim_g1_ $NUM_RICS 1 $INSTANCE_ID NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json $NUM_INSTANCES 3 fi for ((i=1; i<=$NUM_RICS; i++)) do if [ $interface == "DMAAP-BATCH" ]; then - api_put_policy_batch 201 "serv1" ricsim_g1_$i 1 $INSTANCE_ID NOTRANSIENT testdata/OSC/pi1_template.json $NUM_INSTANCES + a1pms_api_put_policy_batch 201 "serv1" ricsim_g1_$i 1 $INSTANCE_ID NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json $NUM_INSTANCES elif [ $interface == "DMAAP" ] || [ $interface == "REST" ]; then - api_put_policy 201 "serv1" ricsim_g1_$i 1 $INSTANCE_ID NOTRANSIENT testdata/OSC/pi1_template.json $NUM_INSTANCES + a1pms_api_put_policy 201 "serv1" ricsim_g1_$i 1 $INSTANCE_ID NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json $NUM_INSTANCES fi if [ $interface == "DMAAP" ] || [ $interface == "DMAAP-BATCH" ]; then MR_MESSAGES=$(($MR_MESSAGES+$NUM_INSTANCES)) @@ -170,18 +247,18 @@ while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do INSTANCES=$(($INSTANCES+$NUM_INSTANCES)) done - api_equal json:policy_ids $INSTANCES + a1pms_equal json:policy-instances $INSTANCES echo "Create $NUM_INSTANCES instances in each STD RIC" if [ $interface == "REST_PARALLEL" ]; then - api_put_policy_parallel 201 "serv1" ricsim_g2_ $NUM_RICS NOTYPE $INSTANCE_ID NOTRANSIENT testdata/STD/pi1_template.json $NUM_INSTANCES 3 + a1pms_api_put_policy_parallel 201 "serv1" ricsim_g2_ $NUM_RICS NOTYPE $INSTANCE_ID NOTRANSIENT $notificationurl testdata/STD/pi1_template.json $NUM_INSTANCES 3 fi for ((i=1; i<=$NUM_RICS; i++)) do if [ $interface == "DMAAP-BATCH" ]; then - api_put_policy_batch 201 "serv1" ricsim_g2_$i NOTYPE $INSTANCE_ID NOTRANSIENT testdata/STD/pi1_template.json $NUM_INSTANCES + a1pms_api_put_policy_batch 201 "serv1" ricsim_g2_$i NOTYPE $INSTANCE_ID NOTRANSIENT $notificationurl testdata/STD/pi1_template.json $NUM_INSTANCES elif [ $interface == "DMAAP" ] || [ $interface == "REST" ]; then - api_put_policy 201 "serv1" ricsim_g2_$i NOTYPE $INSTANCE_ID NOTRANSIENT testdata/STD/pi1_template.json $NUM_INSTANCES + a1pms_api_put_policy 201 "serv1" ricsim_g2_$i NOTYPE $INSTANCE_ID NOTRANSIENT $notificationurl testdata/STD/pi1_template.json $NUM_INSTANCES fi if [ $interface == "DMAAP" ] || [ $interface == "DMAAP-BATCH" ]; then MR_MESSAGES=$(($MR_MESSAGES+$NUM_INSTANCES)) @@ -191,21 +268,41 @@ while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do INSTANCES=$(($INSTANCES+$NUM_INSTANCES)) done - api_equal json:policy_ids $INSTANCES + a1pms_equal json:policy-instances $INSTANCES + echo "Create $NUM_INSTANCES instances in each STD 2 RIC" + if [ $interface == "REST_PARALLEL" ]; then + a1pms_api_put_policy_parallel 201 "serv1" ricsim_g3_ $NUM_RICS STD_QOS2_0.1.0 $INSTANCE_ID NOTRANSIENT $notificationurl testdata/STD2/pi_qos2_template.json $NUM_INSTANCES 3 + fi + for ((i=1; i<=$NUM_RICS; i++)) + do + if [ $interface == "DMAAP-BATCH" ]; then + a1pms_api_put_policy_batch 201 "serv1" ricsim_g3_$i STD_QOS2_0.1.0 $INSTANCE_ID NOTRANSIENT $notificationurl testdata/STD2/pi_qos2_template.json $NUM_INSTANCES + elif [ $interface == "DMAAP" ] || [ $interface == "REST" ]; then + a1pms_api_put_policy 201 "serv1" ricsim_g3_$i STD_QOS2_0.1.0 $INSTANCE_ID NOTRANSIENT $notificationurl testdata/STD2/pi_qos2_template.json $NUM_INSTANCES + fi + if [ $interface == "DMAAP" ] || [ $interface == "DMAAP-BATCH" ]; then + MR_MESSAGES=$(($MR_MESSAGES+$NUM_INSTANCES)) + fi + sim_equal ricsim_g3_$i num_instances $NUM_INSTANCES + INSTANCE_ID=$(($INSTANCE_ID+$NUM_INSTANCES)) + INSTANCES=$(($INSTANCES+$NUM_INSTANCES)) + done + + a1pms_equal json:policy-instances $INSTANCES echo "Delete all instances in each OSC RIC" INSTANCE_ID=200000 if [ $interface == "REST_PARALLEL" ]; then - api_delete_policy_parallel 204 $NUM_RICS $INSTANCE_ID $NUM_INSTANCES 3 + a1pms_api_delete_policy_parallel 204 $NUM_RICS $INSTANCE_ID $NUM_INSTANCES 3 fi for ((i=1; i<=$NUM_RICS; i++)) do if [ $interface == "DMAAP-BATCH" ]; then - api_delete_policy_batch 204 $INSTANCE_ID $NUM_INSTANCES + a1pms_api_delete_policy_batch 204 $INSTANCE_ID $NUM_INSTANCES elif [ $interface == "DMAAP" ] || [ $interface == "REST" ]; then - api_delete_policy 204 $INSTANCE_ID $NUM_INSTANCES + a1pms_api_delete_policy 204 $INSTANCE_ID $NUM_INSTANCES fi if [ $interface == "DMAAP" ] || [ $interface == "DMAAP-BATCH" ]; then MR_MESSAGES=$(($MR_MESSAGES+$NUM_INSTANCES)) @@ -215,19 +312,19 @@ while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do INSTANCE_ID=$(($INSTANCE_ID+$NUM_INSTANCES)) done - api_equal json:policy_ids $INSTANCES + a1pms_equal json:policy-instances $INSTANCES echo "Delete all instances in each STD RIC" if [ $interface == "REST_PARALLEL" ]; then - api_delete_policy_parallel 204 $NUM_RICS $INSTANCE_ID $NUM_INSTANCES 3 + a1pms_api_delete_policy_parallel 204 $NUM_RICS $INSTANCE_ID $NUM_INSTANCES 3 fi for ((i=1; i<=$NUM_RICS; i++)) do if [ $interface == "DMAAP-BATCH" ]; then - api_delete_policy_batch 204 $INSTANCE_ID $NUM_INSTANCES + a1pms_api_delete_policy_batch 204 $INSTANCE_ID $NUM_INSTANCES elif [ $interface == "DMAAP" ] || [ $interface == "REST" ]; then - api_delete_policy 204 $INSTANCE_ID $NUM_INSTANCES + a1pms_api_delete_policy 204 $INSTANCE_ID $NUM_INSTANCES fi if [ $interface == "DMAAP" ] || [ $interface == "DMAAP-BATCH" ]; then MR_MESSAGES=$(($MR_MESSAGES+$NUM_INSTANCES)) @@ -237,29 +334,56 @@ while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do INSTANCE_ID=$(($INSTANCE_ID+$NUM_INSTANCES)) done - api_equal json:policy_ids 0 + a1pms_equal json:policy-instances $INSTANCES + + echo "Delete all instances in each STD 2 RIC" - cr_equal received_callbacks 0 + if [ $interface == "REST_PARALLEL" ]; then + a1pms_api_delete_policy_parallel 204 $NUM_RICS $INSTANCE_ID $NUM_INSTANCES 3 + fi + for ((i=1; i<=$NUM_RICS; i++)) + do + if [ $interface == "DMAAP-BATCH" ]; then + a1pms_api_delete_policy_batch 204 $INSTANCE_ID $NUM_INSTANCES + elif [ $interface == "DMAAP" ] || [ $interface == "REST" ]; then + a1pms_api_delete_policy 204 $INSTANCE_ID $NUM_INSTANCES + fi + if [ $interface == "DMAAP" ] || [ $interface == "DMAAP-BATCH" ]; then + MR_MESSAGES=$(($MR_MESSAGES+$NUM_INSTANCES)) + fi + INSTANCES=$(($INSTANCES-$NUM_INSTANCES)) + sim_equal ricsim_g3_$i num_instances 0 + INSTANCE_ID=$(($INSTANCE_ID+$NUM_INSTANCES)) + done - mr_equal requests_submitted $MR_MESSAGES - mr_equal requests_fetched $MR_MESSAGES - mr_equal responses_submitted $MR_MESSAGES - mr_equal responses_fetched $MR_MESSAGES - mr_equal current_requests 0 - mr_equal current_responses 0 + a1pms_equal json:policy-instances $INSTANCES + + if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then + : + else + mr_equal requests_submitted $MR_MESSAGES + mr_equal requests_fetched $MR_MESSAGES + mr_equal responses_submitted $MR_MESSAGES + mr_equal responses_fetched $MR_MESSAGES + mr_equal current_requests 0 + mr_equal current_responses 0 + fi for ((i=1; i<=$NUM_RICS; i++)) do - sim_contains_str ricsim_g1_$i remote_hosts "a1-controller" - sim_contains_str ricsim_g2_$i remote_hosts "a1-controller" + sim_contains_str ricsim_g1_$i remote_hosts $SDNC_APP_NAME + sim_contains_str ricsim_g2_$i remote_hosts $SDNC_APP_NAME + + sim_contains_str ricsim_g3_$i remote_hosts $SDNC_APP_NAME done done done -check_policy_agent_logs +check_a1pms_logs +check_sdnc_logs #### TEST COMPLETE #### @@ -267,4 +391,4 @@ store_logs END print_result -auto_clean_containers \ No newline at end of file +auto_clean_environment \ No newline at end of file