#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-2023 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.
TC_ONELINE_DESCR="Change supported policy types and reconfigure rics"
-#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 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"
+#Prestarted 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=""
+
+#Supported test environment profiles
+SUPPORTED_PROFILES="ONAP-JAKARTA ONAP-KOHN ONAP-LONDON ORAN-F-RELEASE ORAN-G-RELEASE ORAN-H-RELEASE"
+#Supported run modes
+SUPPORTED_RUNMODES="DOCKER KUBE"
+
+. ../common/testcase_common.sh $@
+
+setup_testenvironment
#### TEST BEGIN ####
-#Local vars in test script
-##########################
-# Path to callback receiver
-CR_PATH="http://$CR_APP_NAME:$CR_EXTERNAL_PORT/callbacks"
+sim_generate_policy_uuid
+
+use_cr_http
NUM_RICS=10
NUM_RICS_2=$(($NUM_RICS-2))
echo "#####################################################################"
echo "#####################################################################"
- echo "### Testing agent: "$interface
+ echo "### Testing a1pms: "$interface
echo "#####################################################################"
echo "#####################################################################"
# Clean container and start all needed containers #
- clean_containers
+ clean_environment
+
+ start_kube_proxy
#Start simulators and prepare two configs
start_ric_simulators ricsim_g1 $NUM_RICS_2 OSC_2.1.0
- start_cr
+ start_cr 1
- start_mr
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ start_mr
+ fi
- start_consul_cbs
+ # Create first config
if [[ $interface = *"SDNC"* ]]; then
start_sdnc
- prepare_consul_config SDNC ".consul_config_2.json"
+ controller_api_wait_for_status_ok 200 ricsim_g1_1
+ prepare_a1pms_config SDNC ".a1pms_config_initial.json"
else
- prepare_consul_config NOSDNC ".consul_config_2.json"
+ prepare_a1pms_config NOSDNC ".a1pms_config_initial.json"
fi
- consul_config_app ".consul_config_2.json"
-
-
# Create 2nd config and save for later
start_ric_simulators ricsim_g1 $NUM_RICS OSC_2.1.0
if [[ $interface = *"SDNC"* ]]; then
- start_sdnc
- prepare_consul_config SDNC ".consul_config_all.json"
+ prepare_a1pms_config SDNC ".a1pms_config_all.json"
+ else
+ prepare_a1pms_config NOSDNC ".a1pms_config_all.json"
+ fi
+
+ if [ $RUNMODE == "KUBE" ]; then
+ start_a1pms NORPOXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/application2.yaml
else
- prepare_consul_config NOSDNC ".consul_config_all.json"
+ start_a1pms NORPOXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE
fi
- start_policy_agent
+ set_a1pms_trace
- set_agent_debug
+ sleep_wait 120 "Let A1PMS cofiguration take effect"
- api_get_status 200
+ a1pms_api_get_status 200
+
+ # Create service to be able to receive events when rics becomes available
+ # Must use rest towards the a1pms since dmaap is not configured yet
+ a1pms_api_put_service 201 "ric-registration" 0 "$CR_SERVICE_APP_PATH_0/ric-registration"
+
+ #Load first config
+ a1pms_api_put_configuration 200 ".a1pms_config_initial.json"
+ a1pms_api_get_configuration 200 ".a1pms_config_initial.json"
for ((i=1; i<=${NUM_RICS}; i++))
do
done
# All sims running but 2 are not configured in consul
- api_equal json:rics 8 120
+ a1pms_equal json:rics 8 300
- api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:NOTYPE:???? \
+ cr_equal 0 received_callbacks?id=ric-registration 8 120
+ cr_api_check_all_sync_events 200 0 ric-registration ricsim_g1_1 ricsim_g1_2 ricsim_g1_3 ricsim_g1_4 ricsim_g1_5 ricsim_g1_6 ricsim_g1_7 ricsim_g1_8
+
+ a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:NOTYPE:???? \
ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:NOTYPE:???? \
ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:NOTYPE:???? \
ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:NOTYPE:???? \
sim_put_policy_type 201 ricsim_g1_6 5 testdata/OSC/sim_5.json
sim_put_policy_type 201 ricsim_g1_7 5 testdata/OSC/sim_5.json
sim_put_policy_type 201 ricsim_g1_8 5 testdata/OSC/sim_5.json
- sim_put_policy_type 201 ricsim_g1_9 5 testdata/OSC/sim_5.json
- api_equal json:policy_types 5 120
+ a1pms_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
- api_equal json:policy_types?ric=ricsim_g1_3 3 120
- api_equal json:policy_types?ric=ricsim_g1_4 4 120
- api_equal json:policy_types?ric=ricsim_g1_5 5 120
- api_equal json:policy_types?ric=ricsim_g1_6 4 120
- api_equal json:policy_types?ric=ricsim_g1_7 3 120
- api_equal json:policy_types?ric=ricsim_g1_8 2 120
+ echo "Check the number of types in the a1pms for each ric"
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_1 1 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_2 2 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_3 3 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_4 4 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_5 5 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_6 4 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_7 3 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_8 2 120
- api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
+ a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3,4:???? \
ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:3,4,5:???? \
ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:4,5:???? "
+ cr_equal 0 received_callbacks?id=ric-registration 16 120
+ cr_api_check_all_sync_events 200 0 ric-registration ricsim_g1_1 ricsim_g1_2 ricsim_g1_3 ricsim_g1_4 ricsim_g1_5 ricsim_g1_6 ricsim_g1_7 ricsim_g1_8
#Load config with all rics
- consul_config_app ".consul_config_all.json"
-
- api_equal json:rics 10 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
- api_equal json:policy_types?ric=ricsim_g1_3 3 120
- api_equal json:policy_types?ric=ricsim_g1_4 4 120
- api_equal json:policy_types?ric=ricsim_g1_5 5 120
- api_equal json:policy_types?ric=ricsim_g1_6 4 120
- api_equal json:policy_types?ric=ricsim_g1_7 3 120
- api_equal json:policy_types?ric=ricsim_g1_8 2 120
- api_equal json:policy_types?ric=ricsim_g1_9 1 120
- api_equal json:policy_types?ric=ricsim_g1_10 0 120
-
- api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
+ a1pms_api_put_configuration 200 ".a1pms_config_all.json"
+ a1pms_api_get_configuration 200 ".a1pms_config_all.json"
+
+ a1pms_equal json:rics 10 120
+
+ cr_equal 0 received_callbacks?id=ric-registration 18 120
+ cr_api_check_all_sync_events 200 0 ric-registration ricsim_g1_9 ricsim_g1_10
+
+ sim_put_policy_type 201 ricsim_g1_9 5 testdata/OSC/sim_5.json
+
+ a1pms_equal json:policy-types 5 120
+
+ echo "Check the number of types in the a1pms for each ric"
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_1 1 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_2 2 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_3 3 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_4 4 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_5 5 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_6 4 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_7 3 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_8 2 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_9 1 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_10 0 120
+
+ a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3,4:???? \
ricsim_g1_9:me1_ricsim_g1_9,me2_ricsim_g1_9:5:???? \
ricsim_g1_10:me1_ricsim_g1_10,me2_ricsim_g1_10:NOTYPE:???? "
+ cr_equal 0 received_callbacks?id=ric-registration 19 120
+ cr_api_check_all_sync_events 200 0 ric-registration ricsim_g1_9
#No policy type in sim #10
- api_equal json:policy_types 5
+ a1pms_equal json:policy-types 5
- api_put_service 201 "serv1" 3600 "$CR_PATH/serv1"
+ a1pms_api_put_service 201 "serv1" 3600 "$CR_SERVICE_APP_PATH_0/serv1"
- api_put_policy 201 "serv1" ricsim_g1_9 5 2000 NOTRANSIENT testdata/OSC/pi5_template.json 1
+ notificationurl=$CR_SERVICE_APP_PATH_0"/test"
- api_equal json:policy_ids 1
+ sleep_wait 120
- sim_equal ricsim_g1_9 num_instances 1
+ # Load config with reduced number of rics
+ a1pms_api_put_configuration 200 ".a1pms_config_initial.json"
+ a1pms_api_get_configuration 200 ".a1pms_config_initial.json"
+ a1pms_equal json:rics 8 120
- # Load config with reduced number of rics
- consul_config_app ".consul_config_2.json"
+ cr_equal 0 received_callbacks?id=ric-registration 19 120
+ cr_api_check_all_sync_events 200 0 ric-registration EMPTY
- api_equal json:rics 8 120
+ a1pms_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
- api_equal json:policy_types?ric=ricsim_g1_3 3 120
- api_equal json:policy_types?ric=ricsim_g1_4 4 120
- api_equal json:policy_types?ric=ricsim_g1_5 5 120
- api_equal json:policy_types?ric=ricsim_g1_6 4 120
- api_equal json:policy_types?ric=ricsim_g1_7 3 120
- api_equal json:policy_types?ric=ricsim_g1_8 2 120
+ echo "Check the number of types in the a1pms for each ric"
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_1 1 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_2 2 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_3 3 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_4 4 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_5 5 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_6 4 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_7 3 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_8 2 120
- api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
+ a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3,4:???? \
ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:3,4,5:???? \
ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:4,5:???? "
- sleep 120
-
- api_equal json:policy_ids 0
-
- api_get_policy_types 404 ricsim_g1_9
+ sleep_wait 120
- sim_equal ricsim_g1_9 num_instances 1
+ a1pms_equal json:policy-instances 0
- api_delete_policy 404 2000
+ a1pms_api_get_policy_types 404 ricsim_g1_9
# Load config with all rics
- consul_config_app ".consul_config_all.json"
-
- api_equal json:rics 10 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
- api_equal json:policy_types?ric=ricsim_g1_3 3 120
- api_equal json:policy_types?ric=ricsim_g1_4 4 120
- api_equal json:policy_types?ric=ricsim_g1_5 5 120
- api_equal json:policy_types?ric=ricsim_g1_6 4 120
- api_equal json:policy_types?ric=ricsim_g1_7 3 120
- api_equal json:policy_types?ric=ricsim_g1_8 2 120
- api_equal json:policy_types?ric=ricsim_g1_9 1 120
- api_equal json:policy_types?ric=ricsim_g1_10 0 120
-
- api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
+ a1pms_api_put_configuration 200 ".a1pms_config_all.json"
+ a1pms_api_get_configuration 200 ".a1pms_config_all.json"
+
+ a1pms_equal json:rics 10 120
+
+ a1pms_equal json:policy-types 5 120
+
+ echo "Check the number of types in the a1pms for each ric"
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_1 1 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_2 2 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_3 3 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_4 4 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_5 5 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_6 4 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_7 3 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_8 2 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_9 1 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_10 0 120
+
+ a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3,4:???? \
ricsim_g1_9:me1_ricsim_g1_9,me2_ricsim_g1_9:5:???? \
ricsim_g1_10:me1_ricsim_g1_10,me2_ricsim_g1_10:NOTYPE:???? "
- sleep 120
+ sleep_wait 120
- api_equal json:policy_ids 0
+ a1pms_equal json:policy-instances 0
sim_equal ricsim_g1_9 num_instances 0
sim_delete_policy_type 204 ricsim_g1_6 4
sim_delete_policy_type 204 ricsim_g1_7 4
- sleep 120
+ sleep_wait 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
- api_equal json:policy_types?ric=ricsim_g1_4 3 120
- api_equal json:policy_types?ric=ricsim_g1_5 4 120
- api_equal json:policy_types?ric=ricsim_g1_6 3 120
- api_equal json:policy_types?ric=ricsim_g1_7 2 120
- api_equal json:policy_types?ric=ricsim_g1_8 2 120
- api_equal json:policy_types?ric=ricsim_g1_9 1 120
- api_equal json:policy_types?ric=ricsim_g1_10 0 120
+ a1pms_equal json:policy-types 5 120
- api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_1 1 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_2 2 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_3 3 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_4 3 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_5 4 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_6 3 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_7 2 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_8 2 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_9 1 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_10 0 120
+
+ a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3:???? \
sim_delete_policy_type 204 ricsim_g1_8 4
- api_equal json:policy_types?ric=ricsim_g1_8 1 120
+ a1pms_equal json:policy-types 5 120
+ a1pms_equal json:policy-types?ric_id=ricsim_g1_8 1 120
- api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
+ a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3:???? \
- check_policy_agent_logs
- store_logs ${interface}
-done
-
+ check_a1pms_logs
+ if [[ $interface = *"SDNC"* ]]; then
+ check_sdnc_logs
+ fi
+ store_logs ${interface}
+done
#### TEST COMPLETE ####
print_result
-auto_clean_containers
\ No newline at end of file
+auto_clean_environment
\ No newline at end of file