Kafka now works in kube for calls outside its namespace
[nonrtric.git] / test / auto-test / FTC810.sh
index 2631a16..ad71f46 100755 (executable)
 #  ============LICENSE_END=================================================
 #
 
-TC_ONELINE_DESCR="Repeatedly create and delete policies in each RICs for 24h. Via agent REST/DMAAP/DMAAP_BATCH and SDNC using http"
+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"
 
-. ../common/testcase_common.sh  $@
-. ../common/agent_api_functions.sh
-. ../common/ricsimulator_api_functions.sh
+#App names to include in the test when running docker, space separated list
+DOCKER_INCLUDED_IMAGES="CBS CONSUL CP CR MR PA RICSIM SDNC NGW KUBEPROXY"
+
+#App names to include in the test when running kubernetes, space separated list
+KUBE_INCLUDED_IMAGES="CP CR MR PA RICSIM SDNC KUBEPROXY NGW"
+#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="NGW"
+
+#Supported test environment profiles
+SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE"
+#Supported run modes
+SUPPORTED_RUNMODES="DOCKER KUBE"
+
+. ../common/testcase_common.sh $@
+
+setup_testenvironment
 
 #### TEST BEGIN ####
 
+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
+if [ "$PMS_VERSION" == "V2" ]; then
+   NUM_RICS=20 # 3 A1 interfaces test, less sims per interface. total sims will be same
+fi
+
 # Number of policy instances per RIC
 NUM_INSTANCES=5
 
-clean_containers
+DAYS=3
+
+clean_environment
+
+start_kube_proxy
+
+# use HTTP or HTTPS for all apis
+HTTPX=HTTPS
+
+if [ $HTTPX == "HTTP" ]; then
+   use_cr_http
+   use_agent_rest_http
+   use_sdnc_http
+   use_simulator_http
+else
+   use_cr_https
+   use_agent_rest_https
+   use_sdnc_https
+   use_simulator_https
+fi
 
 start_ric_simulators ricsim_g1 $NUM_RICS OSC_2.1.0
 
 start_ric_simulators ricsim_g2 $NUM_RICS STD_1.1.3
 
+if [ "$PMS_VERSION" == "V2" ]; then
+   start_ric_simulators ricsim_g3 $NUM_RICS  STD_2.0.0
+fi
+
 start_mr
 
-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
 
-start_sdnc
+start_policy_agent NORPOXY $SIM_GROUP/$POLICY_AGENT_COMPOSE_DIR/$POLICY_AGENT_CONFIG_FILE
 
-start_control_panel
+if [ $RUNMODE == "DOCKER" ]; then
+   start_consul_cbs
+fi
 
-start_policy_agent
+prepare_consul_config      SDNC  ".consul_config.json"
+
+if [ $RUNMODE == "KUBE" ]; then
+   agent_load_config                       ".consul_config.json"
+else
+   consul_config_app                      ".consul_config.json"
+fi
+
+start_sdnc
 
-use_agent_rest_http
 
 api_get_status 200
 
@@ -71,12 +127,28 @@ do
    sim_print ricsim_g2_$i interface
 done
 
+if [ "$PMS_VERSION" == "V2" ]; then
+   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
+fi
+
 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
 
+if [ "$PMS_VERSION" == "V2" ]; then
+   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
+fi
+
 echo "Check the number of instances in  group 1 simulators, shall be 0"
 for ((i=1; i<=$NUM_RICS; i++))
 do
@@ -89,25 +161,48 @@ do
    sim_equal ricsim_g2_$i num_instances 0
 done
 
+if [ "$PMS_VERSION" == "V2" ]; then
+   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
+fi
+
 echo "Wait for the agent to refresh types from the simulator"
-api_equal json:policy_types 2 120
+if [ "$PMS_VERSION" == "V2" ]; then
+   api_equal json:policy-types 3 300
+else
+   api_equal json:policy_types 2 300
+fi
 
 echo "Check the number of types in the agent for each ric is 1"
 for ((i=1; i<=$NUM_RICS; i++))
 do
-   api_equal json:policy_types?ric=ricsim_g1_$i 1 120
+   if [ "$PMS_VERSION" == "V2" ]; then
+      api_equal json:policy-types?ric_id=ricsim_g1_$i 1 120
+      api_equal json:policy-types?ric_id=ricsim_g3_$i 1 120
+   else
+      api_equal json:policy_types?ric=ricsim_g1_$i 1 120
+   fi
 done
 
 echo "Register a service"
-api_put_service 201 "serv1" 0 "$CR_PATH/1"
+api_put_service 201 "serv1" 0 "$CR_SERVICE_APP_PATH_0/1"
 
-TEST_DURATION=$((24*3600))
+TEST_DURATION=$((24*3600*$DAYS))
 TEST_START=$SECONDS
 
-AGENT_INTERFACES="REST DMAAP DMAAP-BATCH"
+AGENT_INTERFACES="REST REST_PARALLEL DMAAP DMAAP-BATCH"
 
 MR_MESSAGES=0
 
+if [ "$PMS_VERSION" == "V2" ]; then
+      notificationurl=$CR_SERVICE_APP_PATH_0"/test"
+else
+      notificationurl=""
+fi
+
 while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do
 
     echo ""
@@ -122,23 +217,36 @@ while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do
       echo "## Testing using agent interface: $interface ##"
       echo "############################################"
 
-      if [ $interface == "REST" ]; then
-         use_agent_rest_http
+      if [ $interface == "REST" ] || [ $interface == "REST_PARALLEL" ]; then
+         if [ $HTTPX == "HTTP" ]; then
+            use_agent_rest_http
+         else
+            use_agent_rest_https
+         fi
       else
-         use_agent_dmaap
+         if [ $HTTPX == "HTTPS" ]; then
+               echo "Using secure ports towards dmaap"
+               use_agent_dmaap_https
+         else
+               echo "Using non-secure ports towards dmaap"
+               use_agent_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 $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 testdata/OSC/pi1_template.json $NUM_INSTANCES
-         else
-            api_put_policy 201 "serv1" ricsim_g1_$i 1 $INSTANCE_ID testdata/OSC/pi1_template.json $NUM_INSTANCES
+            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 $notificationurl testdata/OSC/pi1_template.json $NUM_INSTANCES
          fi
-         if [ $interface != "REST" ]; then
+         if [ $interface == "DMAAP" ] || [ $interface == "DMAAP-BATCH" ]; then
             MR_MESSAGES=$(($MR_MESSAGES+$NUM_INSTANCES))
          fi
          sim_equal ricsim_g1_$i num_instances $NUM_INSTANCES
@@ -146,17 +254,24 @@ while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do
          INSTANCES=$(($INSTANCES+$NUM_INSTANCES))
       done
 
-      api_equal json:policy_ids $INSTANCES
+      if [ "$PMS_VERSION" == "V2" ]; then
+         api_equal json:policy-instances $INSTANCES
+      else
+         api_equal json:policy_ids $INSTANCES
+      fi
 
       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 $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 testdata/STD/pi1_template.json $NUM_INSTANCES
-         else
-            api_put_policy 201 "serv1" ricsim_g2_$i NOTYPE $INSTANCE_ID testdata/STD/pi1_template.json $NUM_INSTANCES
+            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 $notificationurl testdata/STD/pi1_template.json $NUM_INSTANCES
          fi
-         if [ $interface != "REST" ]; then
+         if [ $interface == "DMAAP" ] || [ $interface == "DMAAP-BATCH" ]; then
             MR_MESSAGES=$(($MR_MESSAGES+$NUM_INSTANCES))
          fi
          sim_equal ricsim_g2_$i num_instances $NUM_INSTANCES
@@ -164,20 +279,54 @@ while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do
          INSTANCES=$(($INSTANCES+$NUM_INSTANCES))
       done
 
-      api_equal json:policy_ids $INSTANCES
+      if [ "$PMS_VERSION" == "V2" ]; then
+         api_equal json:policy-instances $INSTANCES
+      else
+         api_equal json:policy_ids $INSTANCES
+      fi
+
+      if [ "$PMS_VERSION" == "V2" ]; then
+         echo "Create $NUM_INSTANCES instances in each STD 2 RIC"
+         if [ $interface == "REST_PARALLEL" ]; then
+            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
+               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
+               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
+
+         if [ "$PMS_VERSION" == "V2" ]; then
+            api_equal json:policy-instances $INSTANCES
+         else
+            api_equal json:policy_ids $INSTANCES
+         fi
+      fi
 
 
       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
+      fi
       for ((i=1; i<=$NUM_RICS; i++))
       do
          if [ $interface == "DMAAP-BATCH" ]; then
             api_delete_policy_batch 204 $INSTANCE_ID $NUM_INSTANCES
-         else
+         elif [ $interface == "DMAAP" ] || [ $interface == "REST" ]; then
             api_delete_policy 204 $INSTANCE_ID $NUM_INSTANCES
          fi
-         if [ $interface != "REST" ]; then
+         if [ $interface == "DMAAP" ] || [ $interface == "DMAAP-BATCH" ]; then
             MR_MESSAGES=$(($MR_MESSAGES+$NUM_INSTANCES))
          fi
          INSTANCES=$(($INSTANCES-$NUM_INSTANCES))
@@ -185,18 +334,25 @@ while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do
          INSTANCE_ID=$(($INSTANCE_ID+$NUM_INSTANCES))
       done
 
-      api_equal json:policy_ids $INSTANCES
+      if [ "$PMS_VERSION" == "V2" ]; then
+         api_equal json:policy-instances $INSTANCES
+      else
+         api_equal json:policy_ids $INSTANCES
+      fi
 
       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
+      fi
       for ((i=1; i<=$NUM_RICS; i++))
       do
          if [ $interface == "DMAAP-BATCH" ]; then
             api_delete_policy_batch 204 $INSTANCE_ID $NUM_INSTANCES
-         else
+         elif [ $interface == "DMAAP" ] || [ $interface == "REST" ]; then
             api_delete_policy 204 $INSTANCE_ID $NUM_INSTANCES
          fi
-         if [ $interface != "REST" ]; then
+         if [ $interface == "DMAAP" ] || [ $interface == "DMAAP-BATCH" ]; then
             MR_MESSAGES=$(($MR_MESSAGES+$NUM_INSTANCES))
          fi
          INSTANCES=$(($INSTANCES-$NUM_INSTANCES))
@@ -204,9 +360,39 @@ while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do
          INSTANCE_ID=$(($INSTANCE_ID+$NUM_INSTANCES))
       done
 
-      api_equal json:policy_ids 0
+      if [ "$PMS_VERSION" == "V2" ]; then
+         api_equal json:policy-instances $INSTANCES
+      else
+         api_equal json:policy_ids $INSTANCES
+      fi
+
+      if [ "$PMS_VERSION" == "V2" ]; then
+         echo "Delete all instances in each STD 2 RIC"
 
-      cr_equal received_callbacks 0
+         if [ $interface == "REST_PARALLEL" ]; then
+            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
+            elif [ $interface == "DMAAP" ] || [ $interface == "REST" ]; then
+               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
+
+         if [ "$PMS_VERSION" == "V2" ]; then
+            api_equal json:policy-instances $INSTANCES
+         else
+            api_equal json:policy_ids $INSTANCES
+         fi
+      fi
 
       mr_equal requests_submitted $MR_MESSAGES
       mr_equal requests_fetched $MR_MESSAGES
@@ -218,8 +404,12 @@ while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do
 
       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
+
+         if [ "$PMS_VERSION" == "V2" ]; then
+            sim_contains_str ricsim_g3_$i remote_hosts $SDNC_APP_NAME
+         fi
       done
 
    done
@@ -227,6 +417,7 @@ while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do
 done
 
 check_policy_agent_logs
+check_sdnc_logs
 
 #### TEST COMPLETE ####
 
@@ -234,4 +425,4 @@ store_logs          END
 
 print_result
 
-auto_clean_containers
\ No newline at end of file
+auto_clean_environment
\ No newline at end of file