blob: 723368e1e0249a3aa35e856c7999059d236d2bac [file] [log] [blame]
BjornMagnussonXA70e878f2020-05-11 14:11:30 +02001#!/bin/bash
BjornMagnussonXA80a92002020-03-19 14:31:06 +01002
3# ============LICENSE_START===============================================
4# Copyright (C) 2020 Nordix Foundation. All rights reserved.
5# ========================================================================
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17# ============LICENSE_END=================================================
18#
19
BjornMagnussonXA4207b832020-11-03 09:52:49 +010020TC_ONELINE_DESCR="Resync 10000 policies using OSC and STD interface"
BjornMagnussonXA80a92002020-03-19 14:31:06 +010021
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +010022#App names to include in the test when running docker, space separated list
23DOCKER_INCLUDED_IMAGES="CBS CONSUL CP CR MR PA RICSIM SDNC"
BjornMagnussonXAbbd2e9d2020-05-27 21:24:06 +020024
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +010025#App names to include in the test when running kubernetes, space separated list
26KUBE_INCLUDED_IMAGES="CP CR MR PA RICSIM SDNC"
27#Prestarted app (not started by script) to include in the test when running kubernetes, space separated list
28KUBE_PRESTARTED_IMAGES=""
29
30#Supported test environment profiles
BjornMagnussonXA89b64ab2020-12-16 09:21:01 +010031SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ORAN-CHERRY ORAN-DAWN"
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +010032#Supported run modes
33SUPPORTED_RUNMODES="DOCKER KUBE"
BjornMagnussonXA49f0e5a2020-11-08 22:41:39 +010034
BjornMagnussonXA80a92002020-03-19 14:31:06 +010035. ../common/testcase_common.sh $@
36. ../common/agent_api_functions.sh
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +010037. ../common/consul_cbs_functions.sh
38. ../common/control_panel_api_functions.sh
39. ../common/controller_api_functions.sh
40. ../common/cr_api_functions.sh
41. ../common/mr_api_functions.sh
BjornMagnussonXA80a92002020-03-19 14:31:06 +010042. ../common/ricsimulator_api_functions.sh
43
44#### TEST BEGIN ####
45
BjornMagnussonXAad047782020-06-08 15:54:11 +020046generate_uuid
47
BjornMagnussonXA70e878f2020-05-11 14:11:30 +020048# Tested variants of REST/DMAAP/SDNC config
49TESTED_VARIANTS="REST DMAAP REST+SDNC DMAAP+SDNC DMAAP_BATCH DMAAP_BATCH+SDNC"
50#Test agent and simulator protocol versions (others are http only)
51TESTED_PROTOCOLS="HTTP HTTPS"
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +010052
BjornMagnussonXA70e878f2020-05-11 14:11:30 +020053for __httpx in $TESTED_PROTOCOLS ; do
54 for interface in $TESTED_VARIANTS ; do
BjornMagnussonXA80a92002020-03-19 14:31:06 +010055
BjornMagnussonXA70e878f2020-05-11 14:11:30 +020056 echo "#####################################################################"
57 echo "#####################################################################"
58 echo "### Testing agent: "$interface" and "$__httpx
59 echo "#####################################################################"
60 echo "#####################################################################"
BjornMagnussonXA80a92002020-03-19 14:31:06 +010061
BjornMagnussonXA496156d2020-08-10 14:16:24 +020062 if [ $__httpx == "HTTPS" ]; then
BjornMagnussonXA496156d2020-08-10 14:16:24 +020063 use_cr_https
BjornMagnussonXAbf3700b2020-10-05 08:39:40 +020064 use_simulator_https
65 use_mr_https
66 if [[ $interface = *"SDNC"* ]]; then
67 use_sdnc_https
68 fi
69 if [[ $interface = *"DMAAP"* ]]; then
70 use_agent_dmaap_https
71 else
72 use_agent_rest_https
73 fi
BjornMagnussonXA496156d2020-08-10 14:16:24 +020074 else
BjornMagnussonXA496156d2020-08-10 14:16:24 +020075 use_cr_http
BjornMagnussonXAbf3700b2020-10-05 08:39:40 +020076 use_simulator_http
77 use_mr_http
78 if [[ $interface = *"SDNC"* ]]; then
79 use_sdnc_http
80 fi
81 if [[ $interface = *"DMAAP"* ]]; then
82 use_agent_dmaap_http
83 else
84 use_agent_rest_http
85 fi
BjornMagnussonXA496156d2020-08-10 14:16:24 +020086 fi
BjornMagnussonXA80a92002020-03-19 14:31:06 +010087
BjornMagnussonXA70e878f2020-05-11 14:11:30 +020088 # Clean container and start all needed containers #
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +010089 clean_environment
BjornMagnussonXA80a92002020-03-19 14:31:06 +010090
BjornMagnussonXA70e878f2020-05-11 14:11:30 +020091 start_ric_simulators ricsim_g1 4 OSC_2.1.0
BjornMagnussonXA80a92002020-03-19 14:31:06 +010092
BjornMagnussonXA70e878f2020-05-11 14:11:30 +020093 start_ric_simulators ricsim_g2 4 STD_1.1.3
BjornMagnussonXA80a92002020-03-19 14:31:06 +010094
BjornMagnussonXA4207b832020-11-03 09:52:49 +010095 if [ "$PMS_VERSION" == "V2" ]; then
96 start_ric_simulators ricsim_g3 4 STD_2.0.0
97 fi
98
BjornMagnussonXA70e878f2020-05-11 14:11:30 +020099 start_mr
BjornMagnussonXA80a92002020-03-19 14:31:06 +0100100
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200101 start_cr
BjornMagnussonXA80a92002020-03-19 14:31:06 +0100102
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100103 if [ $RUNMODE == "DOCKER" ]; then
104 start_consul_cbs
105 fi
106
107 start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/application.properties
108
109 start_policy_agent NORPOXY $SIM_GROUP/$POLICY_AGENT_COMPOSE_DIR/application.yaml
110
111 set_agent_debug
BjornMagnussonXA80a92002020-03-19 14:31:06 +0100112
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200113 if [[ $interface = *"SDNC"* ]]; then
114 start_sdnc
BjornMagnussonXAbf3700b2020-10-05 08:39:40 +0200115 prepare_consul_config SDNC ".consul_config.json"
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200116 else
117 prepare_consul_config NOSDNC ".consul_config.json"
118 fi
BjornMagnussonXA80a92002020-03-19 14:31:06 +0100119
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100120 if [ $RUNMODE == "KUBE" ]; then
121 agent_load_config ".consul_config.json"
122 else
123 consul_config_app ".consul_config.json"
124 fi
BjornMagnussonXA80a92002020-03-19 14:31:06 +0100125
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200126 api_get_status 200
BjornMagnussonXA80a92002020-03-19 14:31:06 +0100127
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200128 sim_print ricsim_g1_1 interface
BjornMagnussonXA80a92002020-03-19 14:31:06 +0100129
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200130 sim_print ricsim_g2_1 interface
BjornMagnussonXA80a92002020-03-19 14:31:06 +0100131
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100132 if [ "$PMS_VERSION" == "V2" ]; then
133 sim_print ricsim_g3_1 interface
134 fi
135
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200136 sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
137
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100138 if [ "$PMS_VERSION" == "V2" ]; then
139 api_equal json:policy-types 2 120 #Wait for the agent to refresh types from the simulator
140 else
141 api_equal json:policy_types 2 120 #Wait for the agent to refresh types from the simulator
142 fi
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200143
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100144 api_put_service 201 "serv1" 3600 "$CR_SERVICE_PATH/1"
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200145
146 START_ID=2000
BjornMagnussonXA49f0e5a2020-11-08 22:41:39 +0100147 NUM_POLICIES=10000 # Must be at least 100
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200148
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100149 if [ "$PMS_VERSION" == "V2" ]; then
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100150 notificationurl=$CR_SERVICE_PATH"/test"
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200151 else
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100152 notificationurl=""
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200153 fi
154
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100155 if [[ $interface == *"BATCH"* ]]; then
156 api_put_policy_batch 201 "serv1" ricsim_g1_1 1 $START_ID NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json $NUM_POLICIES
157 else
158 api_put_policy 201 "serv1" ricsim_g1_1 1 $START_ID NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json $NUM_POLICIES
159 fi
160
161 sim_equal ricsim_g1_1 num_instances $NUM_POLICIES
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200162
163 sim_post_delete_instances 200 ricsim_g1_1
164
165 sim_equal ricsim_g1_1 num_instances 0
166
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100167 sim_equal ricsim_g1_1 num_instances $NUM_POLICIES 300
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200168
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100169 START_ID2=$(($START_ID+$NUM_POLICIES))
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200170
171 if [[ $interface == *"BATCH"* ]]; then
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100172 api_put_policy_batch 201 "serv1" ricsim_g2_1 NOTYPE $START_ID2 NOTRANSIENT $notificationurl testdata/STD/pi1_template.json $NUM_POLICIES
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200173 else
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100174 api_put_policy 201 "serv1" ricsim_g2_1 NOTYPE $START_ID2 NOTRANSIENT $notificationurl testdata/STD/pi1_template.json $NUM_POLICIES
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200175 fi
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100176 sim_equal ricsim_g2_1 num_instances $NUM_POLICIES
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200177
178 sim_post_delete_instances 200 ricsim_g2_1
179
180 sim_equal ricsim_g2_1 num_instances 0
181
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100182 sim_equal ricsim_g2_1 num_instances $NUM_POLICIES 300
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200183
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100184 api_delete_policy 204 $(($START_ID+47))
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200185
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100186 api_delete_policy 204 $(($START_ID+$NUM_POLICIES-39))
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200187
188 sim_post_delete_instances 200 ricsim_g1_1
189
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100190 sim_equal ricsim_g1_1 num_instances $(($NUM_POLICIES-2)) 300
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200191
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100192 api_delete_policy 204 $(($START_ID2+37))
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200193
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100194 api_delete_policy 204 $(($START_ID2+$NUM_POLICIES-93))
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200195
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100196 api_delete_policy 204 $(($START_ID2+$NUM_POLICIES-91))
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200197
198 sim_post_delete_instances 200 ricsim_g2_1
199
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100200 sim_equal ricsim_g1_1 num_instances $(($NUM_POLICIES-2)) 300
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200201
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100202 sim_equal ricsim_g2_1 num_instances $(($NUM_POLICIES-3)) 300
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200203
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100204 api_equal json:policies $(($NUM_POLICIES-2+$NUM_POLICIES-3))
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200205
BjornMagnussonXAbbd2e9d2020-05-27 21:24:06 +0200206 check_policy_agent_logs
BjornMagnussonXA49f0e5a2020-11-08 22:41:39 +0100207 if [[ $interface = *"SDNC"* ]]; then
208 check_sdnc_logs
209 fi
BjornMagnussonXAbbd2e9d2020-05-27 21:24:06 +0200210
211 store_logs "${__httpx}__${interface}"
212
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200213 done
214
215done
BjornMagnussonXA80a92002020-03-19 14:31:06 +0100216
217
BjornMagnussonXA80a92002020-03-19 14:31:06 +0100218#### TEST COMPLETE ####
219
BjornMagnussonXA80a92002020-03-19 14:31:06 +0100220
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200221print_result
222
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100223auto_clean_environment