blob: 8ecd60a69d67d06ac30f72ed72086807f23dc68f [file] [log] [blame]
BjornMagnussonXA70e878f2020-05-11 14:11:30 +02001#!/bin/bash
2
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
20
21TC_ONELINE_DESCR="Sanity test, create service and then create,update and delete a policy using http/https and Agent REST/DMAAP with/without SDNC controller"
22
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +010023#App names to include in the test when running docker, space separated list
24DOCKER_INCLUDED_IMAGES="CBS CONSUL CP CR MR DMAAPMR PA RICSIM SDNC"
BjornMagnussonXAbbd2e9d2020-05-27 21:24:06 +020025
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +010026#App names to include in the test when running kubernetes, space separated list
27KUBE_INCLUDED_IMAGES="CP CR MR PA RICSIM SDNC"
28#Prestarted app (not started by script) to include in the test when running kubernetes, space separated list
29KUBE_PRESTARTED_IMAGES=""
30
31#Supported test environment profiles
BjornMagnussonXA89b64ab2020-12-16 09:21:01 +010032SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ORAN-CHERRY ORAN-DAWN"
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +010033#Supported run modes
34SUPPORTED_RUNMODES="DOCKER KUBE"
BjornMagnussonXA49f0e5a2020-11-08 22:41:39 +010035
BjornMagnussonXA70e878f2020-05-11 14:11:30 +020036. ../common/testcase_common.sh $@
37. ../common/agent_api_functions.sh
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +010038. ../common/consul_cbs_functions.sh
39. ../common/control_panel_api_functions.sh
40. ../common/controller_api_functions.sh
BjornMagnussonXA49f0e5a2020-11-08 22:41:39 +010041. ../common/cr_api_functions.sh
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +010042. ../common/mr_api_functions.sh
43. ../common/ricsimulator_api_functions.sh
44
BjornMagnussonXA70e878f2020-05-11 14:11:30 +020045
46#### TEST BEGIN ####
47
BjornMagnussonXAad047782020-06-08 15:54:11 +020048generate_uuid
49
BjornMagnussonXA70e878f2020-05-11 14:11:30 +020050# Tested variants of REST/DMAAP/SDNC config
51TESTED_VARIANTS="REST DMAAP REST+SDNC DMAAP+SDNC"
52#Test agent and simulator protocol versions (others are http only)
53TESTED_PROTOCOLS="HTTP HTTPS"
54for __httpx in $TESTED_PROTOCOLS ; do
55 for interface in $TESTED_VARIANTS ; do
56
57 echo "#####################################################################"
58 echo "#####################################################################"
59 echo "### Testing agent: $interface using $__httpx"
60 echo "#####################################################################"
61 echo "#####################################################################"
62
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +010063 clean_environment
BjornMagnussonXA496156d2020-08-10 14:16:24 +020064
65 if [ $__httpx == "HTTPS" ]; then
BjornMagnussonXA49f0e5a2020-11-08 22:41:39 +010066 use_agent_rest_https
67 else
68 use_agent_rest_http
69 fi
70
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +010071 start_policy_agent NORPOXY $SIM_GROUP/$POLICY_AGENT_COMPOSE_DIR/application.yaml
BjornMagnussonXA49f0e5a2020-11-08 22:41:39 +010072
73 set_agent_trace
74
75 # Create service to be able to receive events when rics becomes available
76 # Must use rest towards the agent since dmaap is not configured yet
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +010077 api_put_service 201 "ric-registration" 0 "$CR_SERVICE_PATH/ric-registration"
BjornMagnussonXA49f0e5a2020-11-08 22:41:39 +010078
79 if [ $__httpx == "HTTPS" ]; then
BjornMagnussonXA496156d2020-08-10 14:16:24 +020080 use_cr_https
BjornMagnussonXAbf3700b2020-10-05 08:39:40 +020081 use_simulator_https
82 use_mr_https
83 if [[ $interface = *"SDNC"* ]]; then
84 use_sdnc_https
85 fi
86 if [[ $interface = *"DMAAP"* ]]; then
87 use_agent_dmaap_https
88 else
89 use_agent_rest_https
90 fi
BjornMagnussonXA496156d2020-08-10 14:16:24 +020091 else
BjornMagnussonXA496156d2020-08-10 14:16:24 +020092 use_cr_http
BjornMagnussonXAbf3700b2020-10-05 08:39:40 +020093 use_simulator_http
94 use_mr_http
95 if [[ $interface = *"SDNC"* ]]; then
96 use_sdnc_http
97 fi
98 if [[ $interface = *"DMAAP"* ]]; then
99 use_agent_dmaap_http
100 else
101 use_agent_rest_http
102 fi
BjornMagnussonXA496156d2020-08-10 14:16:24 +0200103 fi
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200104
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200105 start_ric_simulators ricsim_g1 1 OSC_2.1.0
106 start_ric_simulators ricsim_g2 1 STD_1.1.3
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100107 if [ "$PMS_VERSION" == "V2" ]; then
108 start_ric_simulators ricsim_g3 1 STD_2.0.0
109 fi
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200110
111 start_mr
112
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200113 start_cr
114
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100115 start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/application.properties
BjornMagnussonXA49f0e5a2020-11-08 22:41:39 +0100116
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100117 if [ $RUNMODE == "DOCKER" ]; then
118 start_consul_cbs
119 fi
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200120
BjornMagnussonXAbf3700b2020-10-05 08:39:40 +0200121 if [[ $interface = *"SDNC"* ]]; then
122 start_sdnc
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200123 prepare_consul_config SDNC ".consul_config.json"
124 else
125 prepare_consul_config NOSDNC ".consul_config.json"
126 fi
127
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100128 if [ $RUNMODE == "KUBE" ]; then
129 agent_load_config ".consul_config.json"
130 else
131 consul_config_app ".consul_config.json"
132 fi
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200133
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200134 mr_equal requests_submitted 0
135
136 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
BjornMagnussonXA2791e082020-11-12 00:52:08 +0100139
140 sim_put_policy_type 201 ricsim_g3_1 STD_QOS_0_2_0 testdata/STD2/sim_qos.json
141
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100142 api_equal json:rics 3 300
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200143
BjornMagnussonXA7b36db62020-11-23 10:57:57 +0100144 api_equal json:policy-types 3 120
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200145
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100146 api_equal json:policies 0
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200147
BjornMagnussonXA49f0e5a2020-11-08 22:41:39 +0100148 api_equal json:policy-instances 0
149
150 cr_equal received_callbacks 3 120
151
152 cr_api_check_all_sync_events 200 ric-registration ricsim_g1_1 ricsim_g2_1 ricsim_g3_1
153
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100154 else
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100155 api_equal json:rics 2 300
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100156
157 api_equal json:policy_schemas 2 120
158
159 api_equal json:policy_types 2
160
161 api_equal json:policies 0
162
163 api_equal json:policy_ids 0
164 fi
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200165
166 echo "############################################"
167 echo "############## Health check ################"
168 echo "############################################"
169
170 api_get_status 200
171
172 echo "############################################"
173 echo "##### Service registry and supervision #####"
174 echo "############################################"
175
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100176 api_put_service 201 "serv1" 1000 "$CR_SERVICE_PATH/1"
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200177
BjornMagnussonXA49f0e5a2020-11-08 22:41:39 +0100178 api_get_service_ids 200 "serv1" "ric-registration"
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200179
180 api_put_services_keepalive 200 "serv1"
181
182 echo "############################################"
183 echo "############## RIC Repository ##############"
184 echo "############################################"
185
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100186 if [ "$PMS_VERSION" == "V2" ]; then
BjornMagnussonXA2791e082020-11-12 00:52:08 +0100187 api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:AVAILABLE ricsim_g2_1:me1_ricsim_g2_1,me2_ricsim_g2_1:EMPTYTYPE:AVAILABLE ricsim_g3_1:me1_ricsim_g3_1,me2_ricsim_g3_1:STD_QOS_0_2_0:AVAILABLE"
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100188 else
189 api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:AVAILABLE ricsim_g2_1:me1_ricsim_g2_1,me2_ricsim_g2_1:EMPTYTYPE:AVAILABLE"
190 fi
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200191
192 echo "############################################"
193 echo "########### A1 Policy Management ###########"
194 echo "############################################"
195
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100196 if [ "$PMS_VERSION" == "V2" ]; then
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100197 notificationurl=$CR_SERVICE_PATH"/test"
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100198 else
199 notificationurl=""
200 fi
201 api_put_policy 201 "serv1" ricsim_g1_1 1 5000 NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json
202 api_put_policy 200 "serv1" ricsim_g1_1 1 5000 NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json
BjornMagnussonXA2791e082020-11-12 00:52:08 +0100203 if [ "$PMS_VERSION" == "V2" ]; then
204 api_put_policy 201 "serv1" ricsim_g3_1 STD_QOS_0_2_0 5200 true $notificationurl testdata/STD2/pi_qos_template.json
205 api_put_policy 200 "serv1" ricsim_g3_1 STD_QOS_0_2_0 5200 true $notificationurl testdata/STD2/pi_qos_template.json
206 fi
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200207
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100208 api_put_policy 201 "serv1" ricsim_g2_1 NOTYPE 5100 NOTRANSIENT $notificationurl testdata/STD/pi1_template.json
209 api_put_policy 200 "serv1" ricsim_g2_1 NOTYPE 5100 NOTRANSIENT $notificationurl testdata/STD/pi1_template.json
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200210
BjornMagnussonXA2791e082020-11-12 00:52:08 +0100211 if [ "$PMS_VERSION" == "V2" ]; then
212 api_equal json:policies 3
213 else
214 api_equal json:policies 2
215 fi
216
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200217 api_delete_policy 204 5000
218
219 api_delete_policy 204 5100
220
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100221 if [ "$PMS_VERSION" == "V2" ]; then
BjornMagnussonXA2791e082020-11-12 00:52:08 +0100222 api_delete_policy 204 5200
223 fi
224
225 if [ "$PMS_VERSION" == "V2" ]; then
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100226 api_equal json:policies 0
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200227
BjornMagnussonXA49f0e5a2020-11-08 22:41:39 +0100228 api_equal json:policy-instances 0
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100229 else
230 api_equal json:policies 0
231
232 api_equal json:policy_ids 0
233 fi
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200234
BjornMagnussonXA49f0e5a2020-11-08 22:41:39 +0100235 if [ "$PMS_VERSION" == "V2" ]; then
236 cr_equal received_callbacks 3
237 fi
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200238
BjornMagnussonXAbf3700b2020-10-05 08:39:40 +0200239 if [[ $interface = *"DMAAP"* ]]; then
BjornMagnussonXA2791e082020-11-12 00:52:08 +0100240
241 if [ "$PMS_VERSION" == "V2" ]; then
242 VAL=14 # Number of Agent API calls over DMAAP
243 else
244 VAL=11 # Number of Agent API calls over DMAAP
245 fi
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200246 mr_equal requests_fetched $VAL
247 mr_equal responses_submitted $VAL
248 mr_equal responses_fetched $VAL
249 mr_equal current_requests 0
250 mr_equal current_responses 0
251 else
252 mr_equal requests_submitted 0
253 fi
254
BjornMagnussonXAbf3700b2020-10-05 08:39:40 +0200255 if [[ $interface = *"SDNC"* ]]; then
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100256 sim_contains_str ricsim_g1_1 remote_hosts $SDNC_APP_NAME
257 sim_contains_str ricsim_g2_1 remote_hosts $SDNC_APP_NAME
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100258 if [ "$PMS_VERSION" == "V2" ]; then
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100259 sim_contains_str ricsim_g3_1 remote_hosts $SDNC_APP_NAME
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100260 fi
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200261 else
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100262 sim_contains_str ricsim_g1_1 remote_hosts $POLICY_AGENT_APP_NAME
263 sim_contains_str ricsim_g2_1 remote_hosts $POLICY_AGENT_APP_NAME
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100264 if [ "$PMS_VERSION" == "V2" ]; then
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100265 sim_contains_str ricsim_g3_1 remote_hosts $POLICY_AGENT_APP_NAME
BjornMagnussonXA4207b832020-11-03 09:52:49 +0100266 fi
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200267 fi
268
269 check_policy_agent_logs
270 check_control_panel_logs
271
BjornMagnussonXA49f0e5a2020-11-08 22:41:39 +0100272 if [[ $interface = *"SDNC"* ]]; then
273 check_sdnc_logs
274 fi
275
BjornMagnussonXA70e878f2020-05-11 14:11:30 +0200276 store_logs "${__httpx}__${interface}"
277
278 done
279
280done
281
282#### TEST COMPLETE ####
283
284
285print_result
286
BjornMagnussonXAe0b665e2021-01-08 22:19:18 +0100287auto_clean_environment